R语言-编写自定义函数

来源:互联网 发布:易采网站数据采集系统 编辑:程序博客网 时间:2024/05/21 14:54

一、函数构造器
每一个R函数都包括三个部分:函数名,程序主体以及参数集合,在编写自定义R函数时,需要将三个部分各自储存在一个R对象中。这里需要使用function函数,形如:
my_function<-function(){}
function函数可以将大括号内的代码内容构建成一个函数,例如:

roll<-function(){  dice<-sample(1:6,2,replace = T)#可重复抽样  sum(dice)}roll()

函数将返回最后一行的运行输出结果,如果最后一行不输出结果,整个函数也将不会有返回值


二、含参函数的构造
可以通过在括号里填入参数名称加以实现,具体如下:

roll2<-function(bones){  dice<-sample(bones,2,replace = T)#可重复抽样  sum(dice)}> roll2()Error in sample(bones, 2, replace = T) :   argument "bones" is missing, with no default> roll2(1:10)[1] 11

可以发现如果不写参数,R将报错,为了防止类似的错误发生,可以预先设置一个初始默认值给bones参数,只需在括号里用等号将默认值与参数相连即可。,形如:

roll3<-function(bones=1:6){  dice<-sample(bones,2,replace = T)#可重复抽样  sum(dice)}> roll3()[1] 9

三、提取函数
就像其他语言的IDE一样,RStudio也提供了抽取函数的功能,在R脚本中选中对应的代码段,在菜单栏中选择Code>Extract Function即可。RStudio会询问给函数取什么名字,然后用function将所需函数包装起来,并会自动检查代码段中未定义的变量,将其设置为该函数的参数。
提取函数之后,同志们记得检查一下,主要是看看有没有什么需要设置默认值的参数,或者函数有没有返回值之类的问题。

四、查看函数
不仅可以通过help查看函数解释,还可以通过直接输入函数名查看函数代码
这就是开源的好处哦~

原创粉丝点击