1. 学ぶ
  2. /
  3. コース
  4. /
  5. 金融のための中級R

Connected

演習

sapply() と lapply() の違い

lapply() は便利ですが、返り値をリストではなく、もう少し扱いやすい形にしたいことがあります。たとえばシャープレシオなら、リストではなくベクトルで返ってきたほうが便利ですよね。後続の分析も楽になります。

そのために使えるのが sapply()(simplify apply)です。基本的な動作は lapply() と同じですが、可能なら出力を簡約化(ベクトルや行列などに変換)しようとします。基本の書式は同じで、いくつか追加の引数があります。

sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)

これらのオプション引数で、出力を簡約化するかどうか、そして出力に元のオブジェクトの名前を使うかどうかを指定できます。

この演習では、sapply() を使ってシャープレシオを再計算し、出力を簡約化してみます。stock_return と sharpe 関数は用意されています。

指示

100 XP
  • まず、lapply() を stock_return に適用して、シャープレシオを再度計算します。
  • 次に、sapply() を stock_return に適用して、簡約化されたシャープレシオの出力を確認します。
  • sapply() を stock_return に適用し、引数に simplify = FALSE と USE.NAMES = FALSE を指定してシャープレシオを取得します。これは lapply() と同等です!