この記事は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
![Rでfor文は使うべきでないか? (R Advent Calendar 2011) - kohta blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/72b5260f9f264f9ce55895e541454979c77a820f/height=288;version=1;width=512/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F51BGajkOY%252BL._SL160_.jpg)