我想模拟固定数量球的分布 m
在固定数量的垃圾箱中 n
在 R 中。到目前为止,我一直在使用泊松近似与 rpois()
.对于 n
中的大量球来说,这是一个不错的近似值。垃圾箱。
然而,rpois()
只允许您指定比率 lambda
, 即 m/n
.因此,正箱的数量通常小于球的数量。
有人知道允许我将球随机分配到垃圾箱的函数或脚本吗?
最终我试图计算 -log(empty bins/total bins)
的置信区间通过引导。
这个问题可以说是“打破我的球”。
最佳答案
我想你想要多项式分布。
这是一个快速函数 - 我们将 m 个球放入 n 个箱中,并给出 x 个结果,为 x 次试验中的每一个返回一个度量向量:
myfunc <- function(m,n,x){
out <- rmultinom(x,m,rep(1,n))
-log(colSums(out == 0)/n)
}
myfunc(10,40,10)
[1] 0.1923719 0.2548922 0.2231436 0.2548922 0.2876821 0.2876821 0.2231436 0.2231436 0.2231436 0.2548922
然后您可以获得分位数/置信区间:
out = myfunc(10,40,1000)
quantile(out, c(0.05,0.95))
5% 95%
0.1923719 0.2876821
关于r - R 的 Bins 模拟中的球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45550941/