R函式編寫基礎

2021-07-14 16:05:05 字數 1700 閱讀 8728

編寫函式:

第一部分:

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...