do.call関数の使いみち
ひとりアドベントカレンダー13日目。
引数リストを関数に渡して実行したい時、そんな時にdo.call関数を使います。
do.call("mean", list(1:10, na.rm = TRUE))
誤解されているようですが、このdo.call関数の第1引数は文字列でなくてもOKです。
# 上の例と同じ。 do.call(mean, list(1:10, na.rm = TRUE))
よく見るのはrbind関数と組み合わせた例ですね。
複数のファイルをread.csvで読み込んでデータフレームでまとめたい時なんかに使います。
dat <- do.call(rbind, lapply(1:20, function(x)read.csv(paste0("file", x, '.csv'))))
do.callを用いた引数リストの引き渡しについてはAdvanced Rのこの辺に書かれています。
そういえば刻一刻と邦訳の発売日が近づいてますね。HAHAHA
- 作者: Hadley Wickham,石田基広,市川太祐,高柳慎一,福島真太朗
- 出版社/メーカー: 共立出版
- 発売日: 2016/02/10
- メディア: 単行本
- この商品を含むブログ (29件) を見る