始める無料で始める

リストに対する 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 = ___)
コードを編集して実行