【R每日一贴】R自编函数?
测试开头
测试结尾
摘要
R中根据用户需求自编函数。
【R语言】致力于传播R知识,包括【R每日一帖】、【R书籍推荐】、【R案例分享】,【R那些事】和【R微课】栏目。在这大数据时代里,从数据中找出价值,既是机遇又是挑战。R语言可以帮助我们获取数据、处理数据、分析数据、展示数据和理解数据,以进行数据化决策!
问题描述:R可以自编函数吗?
解决方案:R当然可以自编函数,R不仅已经提供了非常丰富的函数供使用者调用和应用。同时,R使用者也可以根据自己的需要在已有的基础上面进行自编函数,或者称之为自定义函数。
一个函数的结构大致如下。
myfunction <-funcition(arg1, arg2,…) {
statements
return(object)
}
函数中的对象只在函数的内部使用,返回对象的数据类型是任意的,从标量到列表都可以。
举例说明:
使用者自己创建一个计算数据对象的集中趋势和散布情况的函数。
> ####R自编函数
> mystats <- function (x, parametic = TRUE, print = FALSE) {
+ if(parametic) {
+ center <- mean(x)
+ spread <- sd(x)
+ } else {
+ center <- median(x)
+ spread <- mad(x)
+ }
+
+ if(print & parametic) {
+ cat("Mean = ", center, "n", "SD = ", spread, "n")
+ } else if(print & !parametic) {
+ cat("Median = ", center, "n", "SD = ", spread, "n")
+ }
+
+ result <- list(center=center, spread=spread)
+ return(result)
+ }
>
> x <- 1:10
> outcome <- mystats(x)
> outcome
$center
[1] 5.5
$spread
[1] 3.02765
> outcome2 <- mystats(x,FALSE)
> outcome2
$center
[1] 5.5
$spread
[1] 3.7065
> outcome3 <- mystats(x, print = TRUE)
Mean = 5.5
SD = 3.02765
> outcome3
$center
[1] 5.5
$spread
[1] 3.02765
【想一想】
1 R中如何进行自编函数?函数有什么作用?
【做一做】
1 请实战举例说明中的例子,并且自编一个可以进行加法、减法、乘法和除法运算的函数?
◆互动交流
我是陆勤,微信号:wangluqing360,你们在R路上的朋友,一起欣赏R路上的风景。
大数据R语言群:342699237,大数据学习平台:www.ppvke.com,欢迎朋友们加入,共建最好的R社区。欢迎读者朋友们撰稿深度挖掘,回复消息给我留言或者邮件至1181906473@qq.com。
◆如何查看更多好文章
查看【历史记录】
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!