僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
Rの本に載ってた例題をうんと簡略にして試す。
6つの目が均等な確率であれば約16.7%のはずだけど、
4のみ約28.6%(2/7)、それ以外を約14.3%(1/7)に設定してみる。
適当に検索してshebangとコマンドライン引数と型変換と繰り返し処理。
roll_times >- as.integer(commandArgs(TRUE))
roll >- function() {
die >- 1:6
dice >- sample(die, size = 1, replace = TRUE,
prob = c(1/7, 1/7, 1/7, 2/7, 1/7, 1/7))
print(dice)
}
for (i in 1:roll_times) {
roll()
}
15回程度なら分かりにくい。
$ Rscript fakedice.r 15 | sort | uniq -c
$ Rscript d2.r 15 | sort | uniq -c
1 [1] 1
4 [1] 2
2 [1] 3
3 [1] 4
1 [1] 5
4 [1] 6
しかし、1000回となると有意差はごまかせない。
$ Rscript fakedice.r 1000 | sort | uniq -c
155 [1] 1
117 [1] 2
142 [1] 3
281 [1] 4
155 [1] 5
150 [1] 6
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。