http://t.co/ld3MR7r2yi
「for を捨てよ、foreach を書こう」だが,どういう場合に(何をどうやったら)効果的な時間短縮が得られるのか,実例を述べて欲しいなぁ
1:n までの平方根を求める
> n <- 10000
foreach を使う
> system.time(a <- foreach(i = 1:n, .combine=c) %do% sqrt(i))
ユーザ システム 経過
2.708 0.014 2.706
単なる for を使う
> system.time({b <- numeric(n);for(i in 1:n) b[i] <- sqrt(i)})
ユーザ システム 経過
0.019 0.001 0.043
ベクトル演算を使う
> system.time(c <- sqrt(1:n))
ユーザ システム 経過
0.000 0.000 0.001
同じ結果が得られることを確認しておこう
> all.equal(a, b)
[1] TRUE
> all.equal(a, c)
[1] TRUE
だれが foreach なんか使うか(ぺっ!)
最新の画像[もっと見る]
- さぬきうどん 山よし 佐文店 12時間前
- さぬきうどん 山よし 佐文店 12時間前
- 算額(その1394) 23時間前
- 算額(その1393) 1日前
- 和算の心(その008) 1日前
- ぶっかけうどん はな庄 2日前
- ぶっかけうどん はな庄 2日前
- 晴屋製麺所 2日前
- 晴屋製麺所 2日前
- 算額(その1391) 3日前
※コメント投稿者のブログIDはブログ作成者のみに通知されます