この記事はR Advent Calendar 2011 (http://atnd.org/events/22039)への参加記事です。 Rではよく「for文は使うべきでない」と言われます。forではなく、ベクトル単位での処理として記述したり、lapplyやapplyなどのベクトル・行列に対するmap系関数を使うべきとされています。しかし実際には、必ずしもいつもfor文を避ければ良いというものでも無いようです。今回はそのあたり、for文がどのくらい遅いのか(または遅くないのか)を調べてみたいと思います。 lapply関数 通常、for文と対応関係にあるのはlapply関数です。lapplyは lapply(v,func)という形で用いられ、その機能は 第一引数のベクトルvの各要素にfuncを適用する 各要素への適用結果をリストにまとめて返す というものです。 for文で書ける処理はlappl