R语言-编写自定义函数
2017-07-25 11:01
211 查看
一、函数构造器
每一个R函数都包括三个部分:函数名,程序主体以及参数集合,在编写自定义R函数时,需要将三个部分各自储存在一个R对象中。这里需要使用function函数,形如:
function函数可以将大括号内的代码内容构建成一个函数,例如:
函数将返回最后一行的运行输出结果,如果最后一行不输出结果,整个函数也将不会有返回值
二、含参函数的构造
可以通过在括号里填入参数名称加以实现,具体如下:
可以发现如果不写参数,R将报错,为了防止类似的错误发生,可以预先设置一个初始默认值给bones参数,只需在括号里用等号将默认值与参数相连即可。,形如:
三、提取函数
就像其他语言的IDE一样,RStudio也提供了抽取函数的功能,在R脚本中选中对应的代码段,在菜单栏中选择Code>Extract Function即可。RStudio会询问给函数取什么名字,然后用function将所需函数包装起来,并会自动检查代码段中未定义的变量,将其设置为该函数的参数。
提取函数之后,同志们记得检查一下,主要是看看有没有什么需要设置默认值的参数,或者函数有没有返回值之类的问题。
四、查看函数
不仅可以通过help查看函数解释,还可以通过直接输入函数名查看函数代码
这就是开源的好处哦~
每一个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查看函数解释,还可以通过直接输入函数名查看函数代码
这就是开源的好处哦~
相关文章推荐
- php自定义编写的函数 代替json函数json_encode
- 如何编写和使用自定义的 Shell 函数和函数库
- 在 Excel 中编写自定义函数——模拟 SUM 函数
- C++第二周任务一*(1‐2)编写自定义函数将十进制数转换成二进制数输出。
- 编写程序,自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数
- /*编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数*/
- 淘宝服务市场 获取卖家自定义分类 封装类 (仅提供思路, 类内调用的函数还需要您自己编写)
- Spark 2.x永久自定义函数编写
- 利用eclipse编写自定义hive udf函数
- 如何编写和使用自定义的 Shell 函数和函数库
- 如何编写分解因数的自定义函数?
- (R语言)编写自己的函数
- 在sqlserver2005中部署C#编写的自定义函数
- 编写阶乘计算精确值的自定义函数
- HIVE 编写自定义函数UDF
- React study(四)Mixin编写使用、函数复用、自定义表单组件
- sqlserver中编写自定义函数中的返回值问题
- [android底层]jni中获取自定义的类函数编写 推荐
- VBA第7课 编写自定义函数
- EL表达式的使用及编写和使用EL表达式的自定义函数