计算累积超几何分布

Calculating cumulative hypergeometric distribution

假设我有 100 个弹珠,其中 8 个是红色的。我画了 30 个弹珠,我想知道至少有 5 个弹珠是红色的概率是多少。我目前正在使用 http://stattrek.com/online-calculator/hypergeometric.aspx,我分别输入 100、8、30 和 5 作为人口规模、成功人数、样本规模和样本中的成功人数。所以我感兴趣的概率是累积概率:$P(X \geq 5)$ 在这种情况下 = 0.050。我的问题是,我如何在 R 中计算它?

我试过了

> 1-phyper(5, 8, 92, 30, lower.tail = TRUE)
[1] 0.008503108

但这与之前的答案有很大不同

为什么使用:

1 - phyper(..., lower.tail = TRUE)

?

更易于使用:

phyper(..., lower.tail = FALSE)

。即使它们在数学上是等价的,也有更喜欢后者的数字原因。

这能解决您的问题吗?我相信您正在将正确的输入输入到 phyper 函数中。是否有可能您在所链接的网站中查看了错误的输出?

phyper(5, 8, 92, 30) 给出绘制 五个或更少 个红色弹珠的概率。

1 - phyper(5, 8, 92, 30) 因此 returns 获得 六个或更多 个红色弹珠的概率

由于您想要获得 五个或更多(即超过 4 个)红色弹珠的概率,您应该使用以下之一:

1 - phyper(4, 8, 92, 30)
[1] 0.05042297

phyper(4, 8, 92, 30, lower.tail=FALSE)
[1] 0.05042297