科研代码大全|R语言之编写函数

大家好,很高兴见到大家,本期小云将向大家介绍R语言中如何编写函数。
函数是一系列语句的组合,在R中可以写出自己的函数,形式为:变量名=function(变量列表)函数体
myfunction<-function(arg1,arg2,…){
statements
return(object)
}
函数的调用:函数名(变量值)
当不同包的函数重名时,用包名::函数名实现调用。
stats::rnorm(20)

函数中的对象只在函数内部使用
函数可以递归引用,但是不提倡。
举个编写函数的栗子:
函数定义:n次生成obs个服从0-1均匀分布的样本,计算其总体均值与标准差
["obs" 在R语言中通常是指"observation",即观测值或观测数据的意思。在R语言中,数据通常以数据框或矩阵的形式存储,每个行代表一个观测,每个列代表一个变量。因此,对于一行数据,也就是一次观测,我们通常会用"obs"来表示其中的观测值。在一些R函数或包中,也会使用"obs"来指代数据的观测数或样本容量。]
myfn1<-function(obs=10,n=100){
x<-rep(NA,100)
for(i in 1:n){
tmp<-runif(obs)
x[i]<-mean(tmp)
}
return(list(mn=mean(x),std=sd(x)))
}

大家可以尝试编写函数实现以下一些功能:
求一元方程的根
计算两样本T统计量
自定义二元运算符
递归函数计算积分
实际上,R语言自带求一元方程根的函数,即uniroot()。
以上就是本期关于R编写函数的教学了。每天跟着小云一起学习R语言,每天进步一点点哦,大家一起加油!这里小云还想推荐一个小工具:单细胞数据绘制小提琴图(http://www.biocloudservice.com/788/788.php),在线运行,可以使用加载的数据来实践哦。
大家记得点个“关注”哦!
