iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0
自我挑戰組

R語言初學紀錄系列 第 24

DAY24-R語言 apply家族函數part.1

  • 分享至 

  • xImage
  •  

前言:今天開始會有三篇的apply家族函數介紹~~如果內容有哪些錯誤的地方,請多多包涵~


正文開始-->

  • apply函數族為R語言中資料處理的一組核心函數,通過使用此函數,可以實現對資料的迴圈、分組、過濾、類型控制等操作。其本身就是解決資料迴圈處理的問題,為了應對不同的資料類型及不同的傳回值,apply函數組成了一個函數族,包括了8個功能類似的函數。
  • 而有時碰到難以矩陣運算或向量處理的運算,dplyr套件就處理不來。因此會使用由C語言撰寫的apply函數,來加快運算速度。
  • apply家族函數總共有以下八種。
    • apply函數
    • lapply函數
    • sapply函數
    • vapply函數
    • mapply函數
    • tapply函數
    • rapply函數
    • eapply函數

今天會先介紹apply函數及lapply函數~

【apply】
apply函數是R語言中常用的函數之一,能在陣列或矩陣的行或列上應用某個函數,可減少迴圈的使用。
語法:apply(X, MARGIN, FUN, ...)

  • X:數列、矩陣、資料框。
  • MARGIN:按行計算或按按列計算,1表示按row,2表示按col,3表示每個維度和。
  • FUN:自訂的調用函數。
  • :可選參數,傳遞給 FUN 的額外參數。
    使用範例:
    https://ithelp.ithome.com.tw/upload/images/20240918/20169228kE9nips5zD.png
    • apply(scores_matrix, 1, mean)對每一列(即每位學生)的成績進行平均值計算。

【lapply】
基礎迴圈操作函數之一,用來對list、data.frame資料集進行迴圈,並返回和X長度同樣的list結構作為結果。
語法:lapply(X, FUN, ...)

  • X:list、data.frame資料。
  • FUN:自訂的調用函數。
  • :可選參數。
    使用範例:
    https://ithelp.ithome.com.tw/upload/images/20240918/20169228POu13Uegnx.png
    • 透過lapply(scores_list, mean)對清單中的每位學生的成績分別套用 mean 函數,計算每位學生的平均分數。

參考:

  1. https://topic.alibabacloud.com/tc/a/apply-function-in-r-language_1_12_30736987.html
  2. https://ithelp.ithome.com.tw/articles/10222476
  3. https://hackmd.io/@kuo-23/BkZelcGPB

上一篇
DAY23-R語言 資料視覺化part.3 ggplot2應用
下一篇
DAY25-R語言 apply家族函數part.2
系列文
R語言初學紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言