・お題:Rでfor文を使うと処理が遅いので、for文を使わずに処理を速くしてみたい。
・以下のサイトを参考にさせて頂いた。
・とりあえず、以前のようにfor文で処理を記載してみる。1から1億まで整数を二乗して足してもらった。
> m=0
> tic()
> for (n in 1:1000000000) {
+ m<-m+n**2
+ }
> toc()
26.75 sec elapsed
・forを使わずに、何とかしてみる。今回は問題が単純なので、二乗して足す操作に1:100000000をそのまま突っ込む。いわゆるベクトル化?というやつらしい。確かに所要時間が短くなった。
> m<-0
> tic()
> m<-sum((1:1000000000)**2)
> toc()
4.96 sec elapsed
・処理内容によっては、function関数やapply系関数を使うと良いみたい。
おわり。