iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
AI/ ML & Data

資料科學的小筆記系列 第 30

Day30:使用purrr套件進行functional programming(3)

  • 分享至 

  • xImage
  •  

雜談
今天竟然是鐵人賽的最後一天了,雖然前幾天生病欠著的內容還沒還,但能每天發文30天對我來說真的是很不可思議的事情(畢竟本人我重度拖延症XDD + 工作轉換的試用目標努力追趕中),感謝主揪 agjeremy 拉我一起組隊,讓我有機會參與這趟旅程,也很感謝同隊的Scott 跟 Chloe,每天都超怕自己沒發到文害到隊友XDD

正文
今天繼續紀錄利用purrr套件進行functional programming~

  1. reduce(.x, .f, ..., .init, .dir = c("forward", "backward"))
    功能:將函式 .f 依次應用於列表或向量中的每個元素,逐步累加或聚合結果。
  • .x:要進行操作的列表或向量。
  • .f:要應用的函式(如 sum)。
  • .dir:指定操作方向,預設為 forward,也可以設置為 backward。
library(purrr)

a <- list(1, 2, 3, 4)

# 將列表 a 中的所有數字相加
reduce(a, sum)

https://ithelp.ithome.com.tw/upload/images/20240910/201686077yMlJ3ZwCl.png

  1. accumulate(.x, .f, ..., .init)
    功能:類似於 reduce(),但會回傳每一步計算過程中的結果,而不是只回傳最終結果。
  • .x:要進行操作的列表或向量。
  • .f:要應用的函數(如 sum)。
  • .init:設定初始值。
a <- list(1, 2, 3, 4)

# 累加列表 a 中的所有數字,並回傳每一步的結果
accumulate(a, sum)

https://ithelp.ithome.com.tw/upload/images/20240910/201686078jN17fuEX7.png

設定起始值5開始相加

a <- list(1, 2, 3, 4)

# 使用初始值 .init = 5
accumulate(a, sum, .init = 5)

https://ithelp.ithome.com.tw/upload/images/20240910/20168607Qm7cITvikc.png

今天的小筆記先到這邊~謝謝大家~

參考資料:

  1. Apply functions with purrr :: Cheatsheet

上一篇
Day29:使用purrr套件進行functional programming(2)
系列文
資料科學的小筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言