在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
答案 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跟踪器。