iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 21
0
AI & Data

[Data Science系列]成為哥布林的那件事-非常粗(初)心者系列 第 21

[Data Science系列]利用R語言來自己做函式function-

透過前篇,我們了解到了函式的基本運作模式
還記得提到函式就像煮菜的大鍋,可以將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] "無法除盡"

上一篇
[Data Science系列]用R語言來自己做函式-學習函式基本概念
下一篇
[Data Science系列]利用R語言來了解package-R語言升級包
系列文
[Data Science系列]成為哥布林的那件事-非常粗(初)心者30

尚未有邦友留言

立即登入留言