Monte Carlo模拟8次抛硬币

Monte Carlo simulation of 8 coin flips

我正在尝试使用 Monte Carlo 模拟解决以下问题

Let's say that head = 1 and tails = 0 and I flip 8 coins. What is the probability that all are tails?

目前我有以下内容

sum(sample(c(0,1),8,replace=T))

这计算了 8 个样本中正面朝上的次数。我想 运行 这 1e6 次并计算 0 出现的次数,除以 1e6 .在 R 中有哪些不同的方法可以实现这一点?

这是大部分 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 中的单个未命名变量)但这感觉有点俗气