開始使用免費開始

針對清單使用 lapply()

你將學到的 apply 家族中的第一個函式是 lapply(),也就是「list apply」的縮寫。當你有一個清單,並想把同一個函式套用到清單中的每個元素時,lapply() 是一個不錯的做法,而且它一定會回傳另一個清單。這要怎麼做呢?

我們來看一個簡單的例子。假設你想找出下面這個清單中每個向量的長度。

my_list
$a
[1] 2 4 5

$b
[1] 10 14  5  3  4  5  6

# 使用 lapply
# 注意呼叫 length 時不需要加上括號
lapply(my_list, FUN = length)
$a
[1] 3

$b
[1] 7

就像影片裡提到的,如果你一開始想到要對清單的每個元素進行迴圈,並在每次疊代時使用 length(),這也沒有錯。lapply() 是這類迴圈的向量化版本,在 R 的世界裡通常更受青睞(而且更簡單)。

已提供一個以「百分比」表示的每日股票報酬清單 stock_return,以及 percent_to_decimal() 函式。

本練習屬於課程

R 金融中級

檢視課程

練習說明

  • 列印 stock_return
  • 完成 lapply(),把 percent_to_decimal() 套用到 stock_return 中的每個元素。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Print stock_return
___

# lapply to change percents to decimal
lapply(___, FUN = ___)
編輯並執行程式碼