R 函式
函式是一段只在被呼叫時執行的程式碼塊。
你可以將資料(稱為引數)傳遞給函式。
函式可以返回資料作為結果。
建立函式
要建立函式,請使用 function()
關鍵字
示例
my_function <- function() { # 建立一個名為 my_function 的函式
print("Hello World!")
}
呼叫函式
要呼叫函式,請使用函式名後跟括號,例如 my_function()
示例
my_function <- function() {
print("Hello World!")
}
my_function() # 呼叫名為 my_function 的函式
自己動手試一試 »
引數
資訊可以作為引數傳遞給函式。
引數在函式名之後、括號內指定。您可以新增任意數量的引數,只需用逗號分隔即可。
下面的例子有一個帶有一個引數 (fname) 的函式。呼叫函式時,我們傳遞一個名字,該名字在函式內部用於列印全名
示例
my_function <- function(fname) {
paste(fname, "Griffin")
}
my_function("Peter")
my_function("Lois")
my_function("Stewie")
自己動手試一試 »
引數或實參?
術語“引數”(parameter)和“實參”(argument)可以用於相同的事情:傳遞給函式的資訊。
從函式的角度來看
引數是函式定義中括號內的變數。
實參是在呼叫函式時傳送到函式的值。
引數數量
預設情況下,必須使用正確數量的實參來呼叫函式。這意味著如果您的函式需要 2 個實參,您必須使用 2 個實參來呼叫該函式,不多也不少
示例
此函式需要 2 個引數,並接收 2 個引數
my_function <- function(fname, lname) {
paste(fname, lname)
}
my_function("Peter", "Griffin")
自己動手試一試 »
如果你嘗試用 1 個或 3 個引數呼叫函式,你會收到一個錯誤
示例
此函式需要 2 個實參,但只接收了 1 個實參
my_function <- function(fname, lname) {
paste(fname, lname)
}
my_function("Peter")
自己動手試一試 »
預設引數值
下面的例子展示瞭如何使用預設引數值。
如果我們不帶實參呼叫函式,它將使用預設值
示例
my_function <- function(country = "Norway") {
paste("I am from", country)
}
my_function("Sweden")
my_function("India")
my_function() # 將獲得預設值,即 Norway
my_function("USA")
自己動手試一試 »
返回值
要讓函式返回一個結果,請使用 return()
函式
示例
my_function <- function(x) {
return (5 * x)
}
print(my_function(3))
print(my_function(5))
print(my_function(9))
自己動手試一試 »
上面程式碼的輸出將是
[1] 15
[1] 25
[1] 45