裏 RjpWiki

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

sample 関数

2015年03月19日 | ブログラミング

1 ~ n までの整数乱数を発生する sample 関数を使うとき,第1引数はベクトルを指定しない方が速い。

system.time({
    set.seed(1)
    a = sample(1:1e8, 1e5, replace=TRUE)
})

system.time({
    set.seed(1)
    b = sample(1e8, 1e5, replace=TRUE)
})

all(a == b)

実行結果

> system.time({
+     set.seed(1)
+     a = sample(1:1e8, 1e5, replace=TRUE)
+ })
   ユーザ   システム       経過  
     0.111      0.092      0.201
>
> system.time({
+     set.seed(1)
+     b = sample(1e8, 1e5, replace=TRUE)
+ })
   ユーザ   システム       経過  
     0.001      0.000      0.001
>
> all(a == b)
[1] TRUE

なぜそうなのかは,sample のソースを見ればわかる。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 英語で数を読む | トップ | 探索を逆方向から攻める(2) »
最新の画像もっと見る

コメントを投稿

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