前言:今天會繼續介紹apply家族函數,分別為sapply函數、vapply函數、mapply函數,如果內容有哪些錯誤的地方,請多多包涵~
正文開始-->
【sapply】
簡化版的lapply,sapply增加了2個參數simplify和USE.NAMES,回傳值為向量。
語法:sapply(X, FUN, ..., simplify=TRUE, USE.NAMES = TRUE)
X
:數列、矩陣、資料框。FUN
:自訂的調用函數。…
:更多參數,可選。simplify
:是否數組化,當值array時,輸出結果按數列進行分組。USE.NAMES
:如果X為字串,TRUE設定字串為資料名,FALSE不設定。使用範例:使用sapply函數來計算每位學生的平均成績。
【vapply】
vapply函數可以指定結果的預期類型。這在大規模資料處理時尤其重要,以避免結果類型不一致,提供了FUN.VALUE參數,用來控制回傳值的列名。
語法:vapply(X, FUN, FUN.VALUE, ..., USE.NAMES = TRUE)
X
:數列、矩陣、資料框。FUN
:自訂的調用函數。FUN.VALUE
:定義回傳值的row.names。…
:更多參數,可選。USE.NAMES
:如果X為字串,TRUE設定字串為資料名,FALSE不設定。【mapply】
sapply的變形函數,類似多變數的sapply,但是參數定義有些變化。用於同時對多個列表(或向量)的元素套用函數。由於mapply是可以接收多個參數的,因此資料操作時,不需把資料先合併為data.frame。
語法:mapply(FUN, ..., MoreArgs = NULL, SIMPLIFY = TRUE,USE.NAMES = TRUE)
FUN
:自訂的調用函數。…
:接收多個資料。MoreArgs
:參數列表。SIMPLIFY
:是否數列化,當值array時,輸出結果按數列進行分組。USE.NAMES
:如果X為字串,TRUE設定字串為資料名,FALSE不設定。參考: