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

R言語徹底解説

R言語徹底解説