科研代碼大全|R語言之編寫函數(shù)

大家好,很高興見到大家,本期小云將向大家介紹R語言中如何編寫函數(shù)。
函數(shù)是一系列語句的組合,在R中可以寫出自己的函數(shù),形式為:變量名=function(變量列表)函數(shù)體
?myfunction<-function(arg1,arg2,…){
statements
return(object)
}
函數(shù)的調(diào)用:函數(shù)名(變量值)
當(dāng)不同包的函數(shù)重名時,用包名::函數(shù)名實現(xiàn)調(diào)用。
stats::rnorm(20)

函數(shù)中的對象只在函數(shù)內(nèi)部使用
函數(shù)可以遞歸引用,但是不提倡。
?舉個編寫函數(shù)的栗子:
函數(shù)定義:n次生成obs個服從0-1均勻分布的樣本,計算其總體均值與標(biāo)準(zhǔn)差 ? ? ??
?["obs" 在R語言中通常是指"observation",即觀測值或觀測數(shù)據(jù)的意思。在R語言中,數(shù)據(jù)通常以數(shù)據(jù)框或矩陣的形式存儲,每個行代表一個觀測,每個列代表一個變量。因此,對于一行數(shù)據(jù),也就是一次觀測,我們通常會用"obs"來表示其中的觀測值。在一些R函數(shù)或包中,也會使用"obs"來指代數(shù)據(jù)的觀測數(shù)或樣本容量。]
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)))
}

大家可以嘗試編寫函數(shù)實現(xiàn)以下一些功能:
求一元方程的根
計算兩樣本T統(tǒng)計量
自定義二元運算符
遞歸函數(shù)計算積分
?實際上,R語言自帶求一元方程根的函數(shù),即uniroot()。
?
以上就是本期關(guān)于R編寫函數(shù)的教學(xué)了。每天跟著小云一起學(xué)習(xí)R語言,每天進(jìn)步一點點哦,大家一起加油!這里小云還想推薦一個小工具:單細(xì)胞數(shù)據(jù)繪制小提琴圖(http://www.biocloudservice.com/788/788.php),在線運行,可以使用加載的數(shù)據(jù)來實踐哦。
大家記得點個“關(guān)注”哦!
