編寫函式:
第一部分:
1 print("str")##列印函式,列印出字元內容
2 sprintf("hello,%s","yjz")##%s是佔位符,。
3 函式引數以及函式呼叫:
hello.persion<-function(first,last)
4 預設引數
hello.persion<-function(first,last="rainbow")
#############
> hello.persion("yjz")
[1] "hello yjz rainbow"
>
#############
5 額外引數
hello.persion<-function(first,last="rainbow",...)
#########
> hello.persion("yjz","rain","bow")
[1] "hello yjz rain"
>
#########
6 返回值
double.num<-function(x)
#########
> double.num(10)
[1] 50
>
#########
6 do.call
在do.call中,我們可以指定函式名稱以及函式引數.
run.this<-function(x,func=mean)
#########
> run.this(1:10)
[1] 5.5
#########
do.call(functionname,args=list(paramter1,paramter2))
##在該函式內部,填寫函式名字,例如mean求平均值函式,args是引數列表,就是掉用的mean函式所需要的函式引數。
第二部分:控制語句
1 if 跟else 語句
if(x)
else
2 switch語句
use.switch<-function(x)
###########
> use.switch("a")
[1] "first"
>
###########
3 ifelse語句
if(1==1,"yes","no")###第乙個引數表示式是條件,第二個是返回真值要展現的結果,第三個引數是返回加值要展現的結果
4 復合檢查:
a<-c(1,1,0,1)
b<-c(2,1,0,1)
ifelse(a==1&b==1,"yes","no")
###############
> a<-c(1,1,0,1)
> b<-c(2,1,0,1)
> ifelse(a==1&b==1,"yes","no")
[1] "no" "yes" "no" "yes"
>
> ifelse(a==1&&b==1,"yes","no")
[1] "no"
該復合檢查,&是挨個比較向量中的每各元素
&&只比較乙個,即最左邊的那個
################
3 第三部分:迭代方式##for迴圈跟while迴圈
for(i in 1:100)
while(i<=100)
R語言 函式的編寫
r語言實際上是函式的集合,使用者可以使用base,stats等包中的基本函式,也可以自己編寫函式完成一定的功能。但是初學者往往認為編寫r函式十分困難,或者難以理解。這裡對如何編寫r函式進行簡要的介紹。函式是對一些程式語句的封裝。換句話說,編寫函式,可以減少人們對重複 書寫,從而讓r指令碼程式更為簡潔...
(R語言)編寫自己的函式
10.1 函式的定義 name function arg 1,arg 2,expression expression是乙個r表示式 通常是表示式語句組 並使用引數arg i來計算出乙個數值,表示式的值就是函式的返回值。函式呼叫的形式通常都是name expr1,expr2,10.2 定義新的二元操作...
R 在dplyr基礎上編寫函式 1 eval
tidyverse系列的r包雖然解放了大家的雙手,但同時也束縛了我們重新編寫函式的能力。在這一套語法中,要實現作為函式引數的字串和變數之間的相互轉換困難重重,但只要掌握了其中原理後,也就能夠游刃有餘地處理了。首先要理解基礎r中幾個重要又易忽略的函式。eval evaluate an unevalua...