sapply() 與 lapply()
lapply() 很好用,但有時你可能希望回傳的資料型態比清單更方便。例如計算夏普比率時,如果回傳的是一個向量而不是清單,不是更好嗎?後續分析也會更容易!
這時你可以考慮使用 sapply()(simplify apply)。它的行為與 lapply() 相同,但如果可以,會嘗試將輸出簡化。基本語法相同,只是多了幾個引數:
sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
這些額外的可選引數讓你指定是否要讓 sapply() 嘗試簡化輸出,以及是否要在輸出中使用物件的名稱。
在本練習中,你會使用 sapply() 重新計算夏普比率,並將輸出簡化。stock_return 與 sharpe 函式都已為你準備好。
本練習屬於課程
R 金融中級
練習說明
- 先對
stock_return使用lapply(),再次取得夏普比率。 - 接著對
stock_return使用sapply(),查看經過簡化的夏普比率輸出。 - 對
stock_return使用sapply()並加入引數simplify = FALSE與USE.NAMES = FALSE,以取得夏普比率。這等同於lapply()!
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# lapply() on stock_return
___
# sapply() on stock_return
___
# sapply() on stock_return with optional arguments
___