iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 20
0
AI & Data

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

[Data Science系列]用R語言來自己做函式-學習函式基本概念

昨天我們透過while, for, break了解到利用迴圈循環來不停做相同指令,直到條件未滿足

今天我們來談談函式function的一些概念及用法吧,我們在過去的幾篇其實都已經接觸過函式了
還記得之前有提到R語言是個開放式的語言,全世界的人在R語言上進行開發,撰寫自己的函式
而我們同樣也可以自我設定函式

簡單來說函式就是將資料丟進去,經過處理,最後產出結果。
用哥布林的話來說就是將食材丟進去大鍋最後可以得到各種食物。
https://ithelp.ithome.com.tw/upload/images/20181104/20112503GLgfa7hPZC.png

假設我們mean()平均這個函式
用之前的值來計算每天給的零用錢的平均
https://ithelp.ithome.com.tw/upload/images/20181104/2011250350jq6NRWue.png
相同的概念,我們將可以得到平均值

c(20, 21, 25, 23, 26)
mean(c(20, 21, 25, 23, 26))
[1] 20

另外當我們不知道該如何使用函式的功能時,我們可以透過?或help的指令來叫出說明
以sd為例子,透過指令可以得知sd標準差的說明,公式用法等等
https://ithelp.ithome.com.tw/upload/images/20181104/20112503lJYKCTXuiP.png

透過右下角的說明,可以告訴我們函式該如何設定
https://ithelp.ithome.com.tw/upload/images/20181104/20112503xOwzIQvWXi.png

透過說明可得知x代表的是數值,na.rm代表是否將遺漏值移除
我們可以直接將數值帶入,而函式後面的預設將會是不移除遺漏值

sd(c(20, 21, 25 , 23, 26))
[1] 2.54951

同樣的我們將數值插入一個遺漏值,得到的結果會變成NA

sd(c(20, 21, 25, NA , 23, 26))
[1] NA

因此重新設定將FALSE改成TRUE,代表將遺漏值移出

sd(c(20, 21, 25, NA , 23, 26), na.rm = TRUE)
[1] 2.54951

最後R語言還有個更快的方式能夠知道函式的設定方法
args()指令可以直接列出函式的公式,讓我們可以更快的知道數值的設定

args(sd)
function (x, na.rm = FALSE) 
NULL

x代表數值,後面若無輸入則直接以預設呈現
明天就讓我們來試試做自己的函式吧


上一篇
[Data Science系列]利用R語言來迴圈判定-新型馬車測速提醒器,進城請減速
下一篇
[Data Science系列]利用R語言來自己做函式function-
系列文
[Data Science系列]成為哥布林的那件事-非常粗(初)心者30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言