FUN 引數
很多時候,你要套用的函式會有其他可調整的選用引數。以 percent_to_decimal() 為例,它允許使用者指定小數位數。
percent_to_decimal(5.4, digits = 3)
[1] 0.054
在呼叫 lapply() 時,你可以在 FUN 引數之後指定具名的選用引數,這些引數就會被傳遞到你要套用的函式。
my_list
$a
[1] 2.444 3.500
$b
[1] 1.100 2.678 3.450
lapply(my_list, FUN = percent_to_decimal, digits = 4)
$a
[1] 0.0244 0.0350
$b
[1] 0.0110 0.0268 0.0345
在這個練習中,你會擴充自己的夏普比率(sharpe ratio)函式,讓使用者可以把無風險利率當成引數輸入,然後配合 lapply() 使用。已提供一個每日股票報酬率的資料框(以小數表示)stock_return。
本練習屬於課程
R 金融中級
練習說明
- 擴充
sharpe,讓無風險利率可作為選用引數輸入。預設值應設為.0003。 - 對
stock_return使用lapply(),在無風險利率為.0004時計算夏普比率。 - 對
stock_return使用lapply(),在無風險利率為.0009時計算夏普比率。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Extend sharpe() to allow optional argument
sharpe <- function(returns, rf = ___) {
(mean(returns) - ___) / sd(returns)
}
# First lapply()
___
# Second lapply()
___