2017-08-07 117 views
4

我想模拟固定数量的球m在固定数量的框n在R的分布。到目前为止,我一直在使用rpois()泊松近似。对于n箱中的大量球,这是一个很好的近似值。球在模拟框R

但是,rpois()只允许您指示费率lambda,即m/n。结果,正面箱子的数量通常小于球的数量。

会有人知道一个函数或脚本,允许我随机分配球入箱?

最终我试图通过引导来计算-log(empty bins/total bins)的置信区间。 这个问题是'打破我的球'可以这么说。

+1

伟大的建立。没有看到它。 – DaveRGP

+0

'sample(n,m,replace = TRUE)'? – bouncyball

+3

'rmultinom(x,m,rep(1,n))'? – jeremycg

回答

2

我想你想要多项分布。

下面是一个简单的功能 - 我们,采取并购球在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 
+1

人们,非常感谢您的帮助,这既回答了我的问题,也大大加快了我的引导。 R本身还很新,但一次只能逐步熟悉。准备好后我会提供一些完成的代码。 – Svencken