透過前篇,我們了解到了函式的基本運作模式
還記得提到函式就像煮菜的大鍋,可以將iput食材放入,接著大鍋經過process後產出output,美味的料理
就讓我們來設定自己的函式吧
首先了解一下設定的基本,arg代表著未來數入的值x
body則代表需要輸入的內容
因此可以如下圖
double <- function(arg1, arg2) {
body
}
我們來正式設定看看double的函式吧
double <- function(x) {
2*x
}
接著在用ls()來看看是否設定成功
ls()
[1]"double"
double(5)
[1]10
為了讓我們函式的結構更完整,我們可以用return()來代表值產出來的結果
double <- function(x) {
y <- 2*x
return(y)
}
同樣的我們可以設定多個值來計算
這邊將有需要輸入兩個值,倘若只有輸入1個將會出現如上面的error
pp <- function(x, y) {
x * y + x / y
}
pp(1)
Error in pp(1) : argument "y" is missing, with no default
假設我們輸入的是0
則因為1/0無法除,出來的結果會變成inf
因此透過之前的函式if我們可以告訴R,如果y是0
pp(1, 0)
[1] Inf
pp <- function(x, y) {
if( y == 0 ) {return("無法除盡")}
x * y + x / y
}
[1] "無法除盡"