裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

ダメ出し:もう何回も書いたけど...

2012年08月22日 | ブログラミング

「高校数学でわかる統計学」の「第1章 サイは投げられた!(期待値と分散)」 において,

乱数は纏めて発生させる。そうすれば for ループを使う必要もない。
両方併せると,実行時間に大きな違いが出る(もっとも,100000 × 2 個発生させて 1 秒なんだから,時間が問題なのではない(

> system.time({
+ n <- 100000
+ x <- numeric(n)
+ for (i in 1:n) {
+  x[i] <- sum(sample(x=1:6, size=2, replace=TRUE, prob=rep(1, 6)))
+ }
+ barplot(table(x) / n, ylim=c(0, 0.2))
+ })
   ユーザ   システム       経過  
     1.302      0.017      1.318

> system.time({
+ n <- 100000
+ d <- matrix(sample(1:6, 2*n, replace=TRUE), 2)
+ x <- colSums(d)
+ barplot(table(x)/n, ylim=c(0, 0.2))
+ })
   ユーザ   システム       経過  
     0.128      0.003      0.136

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ダメ出し:二項分布の確率分布図 | トップ | ダメ出し:小細工せずに素直... »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事