从二项式(K,p)进行采样,结果意外

时间:2013-02-17 11:48:22

标签: r distribution

rbinom的帮助文件中,size参数是一些试验(包括零),但它没有说明它是否也可以是一个向量。

使用此功能的正确方法是

table(rbinom(n = 1000, size = 1, prob = 0.2))

  0   1 
809 191

但是这里发生了什么?

table(rbinom(n = 1000, size = 0:1, prob = 0.2))

  0   1 
894 106 

2 个答案:

答案 0 :(得分:9)

大小参数的参数回收是主要原因。

由于n为1000,0:1会被回收,直到您获得500 0和500 1(交替)。

所有0大小的都给0

   > rbinom(10,size=0,prob=0.2)  
     [1] 0 0 0 0 0 0 0 0 0 0

导致500 0次+ 500伯努利试验,p = 0.2,导致1000个元素中约有1个。{/ p>

[你的结果对我来说似乎并不令人惊讶,但是如果你没有找到它,那么论据回收可以咬人,而且 - 虽然有理由认为0伯努利试验中的成功数量应该定义为0 - 它起初看起来似乎并不明显。]

答案 1 :(得分:4)

文档错误:

  

如果'size'不是 整数,则返回'NaN'。 [我的重点]

您给它提供了多个整数,因此文档意味着您将获得NaN

它令人困惑,因为它明确说明了其他参数可以是向量而不是size。我向维护者提交了一个文档错误,在这种情况下可能意味着主要的R bug跟踪器。