我试图用蒙特卡罗模拟来解决以下问题
让我们说头= 1,尾巴= 0,我翻了8个硬币。所有尾巴的概率是多少?
到目前为止我所拥有的是以下内容
sum(sample(c(0,1),8,replace=T))
这会计算8个样本中的头数。我想运行此1e6
次并计算0出现的次数除以1e6
。有哪些方法可以在R中实现这一目标?
答案 0 :(得分:1)
以下是purrr
解决方案的大部分内容
set.seed(101)
n <- 1e5
xx <- rerun(n,sample(0:1,8,replace=TRUE)) %>% map_dbl(sum)
mean(xx==0)
您可以通过
在功能上完成最后一步... %>% tibble %>% summarise(prob=mean(.==0))
(.
是tibble中的单个未命名变量)但感觉有点俗气