7

在 的帮助文件中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 
4

2 回答 2

9

大小参数的参数循环是主要原因。

因为n是 1000,0:1所以被回收,直到你得到 5000和 500 1(交替)。

所有 0 尺寸的都给出0

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

导致 5000次 + 500 次伯努利试验,p=0.2,导致11000 个元素中约有 100 个。

[你的结果对我来说似乎并不令人惊讶,但如果你不寻找它,参数回收可能会咬人,而且 - 虽然有理由将 0 次伯努利试验中的成功次数定义为 0 - 这似乎并不一开始也很明显。]

于 2013-02-17T11:52:56.830 回答
4

文档错误:

如果“大小”不是整数,则返回“NaN” [我的重点]

你给它的整数不止一个,所以文档暗示你会得到NaN.

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

于 2013-02-17T12:22:42.387 回答