rbinom 的成功率高于预期

rbinom is producing higher than expected amounts of success

我只是尝试使用 rbinom 函数重新创建一个示例,但由于概率较低,“成功”的次数比我预期的要高很多。

numSamples <- 10000 #number of samples to be drawn from population
numTrials <- 100 #this is the sample size (size of each sample)
probs <- seq(0.001, 0.9999, 0.01) 

for (i in 1:length(probs)) {
  x <- rbinom(n = numSamples, size = numTrials, prob = probs[i])
}

一切看起来都很简单,除了我得到的所有样本的成功次数都在 97 - 100 之间。当我使用较小的概率(例如 0.001)手动执行一些测试用例时,我得到了预期的成功次数:0。因此,我的 for 循环读取内容的方式存在问题。出了什么问题?

这是获取所有样本的一种方法:

res <- list()
for (i in 1:length(probs)) {
  res <- c(res,
    list(rbinom(n = numSamples, size = numTrials, prob = probs[i]))
}

然后您可以 unlist(res) 得到一个长向量,或 do.call(rbind, res) 折叠成一个矩阵。以这种方式增长列表然后折叠它不会导致与增长向量相同的性能损失。