专栏首页R语言交流中心R语言自定义函数

R语言自定义函数

R语言在使用过程中有些时候代码过长或者很多重复性的功能需要对代码的结构进行管理以及梳理。R语言具有自定义函数的功能,如果有些代码实现的功能具有重复性,那么就可以利用R语言自带的自定义函数体进行封装功能。最后,只需要每次调用的时候保证输入输出能够结构化的输入变量和结构化的输出计算结果。

一、我们来看下R语言中自定义函数的构造:

格式:myfuntion<-function(arg1,arg2,…){

statements

return(object)

}

函数名称为myfunction;

arg1,arg2 为参数;

statements 为函数语句;

return(object)返回结果。

二、我们定义好的函数,我们也可以通过以下函数去检查函数的结构以及参数设置(注:R语言自带函数是无法通过以下函数查看的):

1) 函数体:body(),查看函数的内部代码,

2) 形式参数列表:formals(),查看函数调用的参数列表

3) 环境:environment(),函数的变量所在位置的“地图”

4)检测参数设置:force(),主要是在参数缺失或者函数未传入参数时使得函数进行报错,从而提醒调用者。

5) 退出时执行:on.exit(),可以在一个函数主体部分中的任何地方插入一个 on.exit 的调用。on.exit 调用的作用是保存函数主体的值使得函数跳出后它仍然可以被执行。它允许函数改变一些系统参数和保证在函数结束时它们设有恰当的值。on.exit 保证函数在直接退出或警告退出的情况下一定运行。如果你在一个函数中调用多个on.exit()函数,那么请务必设置add = TRUE。

6) 返回不可见的值: invisible(x),获取当前变量的值。

7) 函数错误信息设置:stop()和stopifnot(),在判断后调用可以输出自己的错误消息。

欢迎大家交流学习

本文分享自微信公众号 - R语言交流中心(R_statistics),作者:一粒沙

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-02-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R语言中的批处理函数

    apply函数只能用于处理矩阵类型的数据,也就是说所有的数据必须是同一类型。因此要使用apply函数的话,需要将数据类型转换成矩阵类型。

    一粒沙
  • R语言实现基因表达模式识别

    后验概率:事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小{P(事件|原因)}。

    一粒沙
  • R语言实现基因序列的匹配和比对

    我们对字符串都很熟悉,那么面对大量的测序序列字符串,我们如何对其进行处理分析,获得最终的结果。在R语言中有学者专门针对字符串的处理开发了对应的包,命名为Bios...

    一粒沙
  • C语言之函数

      结构化程序设计主张按功能来分析需求,主要原则自顶向下,逐步求精,模块化等。 主张按功能把软件系统逐步细分,每个功能都负责对数据进行一次处理,每个功能接收一些...

    互联网金融打杂
  • C语言概述归纳整理

    2.一个c程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何,最后在main函数中结束。

    诸葛青云
  • Kotlin中的函数

    函数还可以用中缀表示法调用,当他们是成员函数或扩展函数,只有一个参数,用 infix关键字标注

    deep_sadness
  • 聊一聊编程中的函数

    给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表...

    算法与编程之美
  • Web前端学习 第3章 JavaScript基础教程6 函数基础

    函数是一个可执行的语句块,定义的时候不执行,调用的时候执行,使用"函数名()"的形式可以调用函数, 语法如下所示:

    学习猿地
  • 如何学python 第10课 创建自己的函数

    在上一节课里,我们学习了一些关于错误检测和错误处理的知识。这节课我们来学习函数。我们将会介绍什么是函数,以及如何创建函数。 函数是什么? 函数是一系列指令的集合...

    用户1631416
  • 机器学习中的数学:为什么对数如此重要

    当然,如果你是一个忙碌的人,没有时间去健身房,把楼梯当作是有氧运动的简易版,那么走楼梯会更好。但是除此之外,你更可能选择乘电梯。

    deephub

扫码关注云+社区

领取腾讯云代金券