在 的帮助文件中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
在 的帮助文件中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
大小参数的参数循环是主要原因。
因为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,导致1
1000 个元素中约有 100 个。
[你的结果对我来说似乎并不令人惊讶,但如果你不寻找它,参数回收可能会咬人,而且 - 虽然有理由将 0 次伯努利试验中的成功次数定义为 0 - 这似乎并不一开始也很明显。]
文档错误:
如果“大小”不是整数,则返回“NaN” 。[我的重点]
你给它的整数不止一个,所以文档暗示你会得到NaN
.
它令人困惑,因为它明确说明了其他参数可以是向量但不是size
。我会向维护者提交一个文档错误,在这种情况下,这可能意味着主要的 R 错误跟踪器。