这个实验的等效R码是多少?

jvlzgdj9  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(119)

估计五个骰子之和在15和20之间(含)的概率。
我的尝试:

myex<-replicate(100,{
   #creat a vector of 5 die
   mydie <- sample(1:6, 5, replace= T)
   #sum the value of all 6 die
   sum = mydie[1]+mydie[2]+mydie[3]+mydie[4]+mydie[5]
})
#mean with the conditions
mean(myex >=15 & myex<=20)

我说错了吗?

lyr7nygr

lyr7nygr1#

你可以通过列举所有的可能性得到确切的概率

all_possible <- rowSums(do.call(expand.grid, lapply(1:5, \(x) 1:6)))

它看起来像这样:

hist(all_possible)

现在我们只需要数一下这些值在15到20之间的个数。

sum(all_possible >= 15 & all_possible <= 20)/length(all_possible)
#> [1] 0.5570988

为了得到这个值的 * 估计值 *,我们可以像这样得到5个独立骰子滚动1000次的样本,然后使用相同的代码得到在15和20之间找到总和的概率:

samp <- replicate(1000, sum(sample(6, 5, TRUE)))

hist(samp)

sum(samp >= 15 & samp <= 20)/length(samp)
#> [1] 0.554

创建于2023年1月15日,使用reprex v2.0.2

相关问题