当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R Hypergeometric 超几何分布


R语言 Hypergeometric 位于 stats 包(package)。

说明

超几何分布的密度、分布函数、分位数函数和随机生成。

用法

dhyper(x, m, n, k, log = FALSE)
phyper(q, m, n, k, lower.tail = TRUE, log.p = FALSE)
qhyper(p, m, n, k, lower.tail = TRUE, log.p = FALSE)
rhyper(nn, m, n, k)

参数

x , q

分位数向量,表示从同时包含黑球和白球的瓮中抽取的白球数量,无需放回。

m

瓮中白球的数量。

n

瓮中黑球的数量。

k

从瓮中取出的球的数量,因此必须在 中。

p

概率,它必须在 0 和 1 之间。

nn

观察次数。如果是 length(nn) > 1 ,则长度被视为所需的数量。

log , log.p

逻辑性;如果为 TRUE,则概率 p 以 log(p) 形式给出。

lower.tail

逻辑性;如果为 TRUE(默认值),则概率为 ,否则为

细节

超几何分布用于无放回抽样。该分布的密度,参数为 mnk (在下面的参考文献中分别命名为 ,其中 也在其他参考文献中使用)是(谁)给的

对于

请注意, 仅对于 为非零。

对于 (因此参考文献符号中的 ),前两个矩是平均值

和方差

这显示了与二项式 的接近度(其中超几何具有较小的方差,除非 )。

分位数定义为 使得 满足的最小值,其中 是分布函数。

rhyper() 中,如果 之一超过 .Machine$integer.max ,则当前使用等效的 qhyper(runif(nn), m,n,k) ,其速度相对较慢,而二项式近似可能会更有效。

dhyper 给出密度,phyper 给出分布函数,qhyper 给出分位数函数,rhyper 生成随机偏差。

无效参数将导致返回值 NaN ,并带有警告。

结果的长度由 rhypern 确定,并且是其他函数的数值参数长度的最大值。

n 之外的数字参数将被回收到结果的长度。仅使用逻辑参数的第一个元素。

例子

m <- 10; n <- 7; k <- 8
x <- 0:(k+1)
rbind(phyper(x, m, n, k), dhyper(x, m, n, k))
all(phyper(x, m, n, k) == cumsum(dhyper(x, m, n, k)))  # FALSE
## but errors are very small:
signif(phyper(x, m, n, k) - cumsum(dhyper(x, m, n, k)), digits = 3)

stopifnot(abs(phyper(x, m, n, k) - cumsum(dhyper(x, m, n, k))) < 5e-16)

来源

dhyper 使用 Catherine Loader 贡献的代码通过二项式概率进行计算(请参阅 dbinom )。

phyper 基于计算 dhyperphyper(...)/dhyper(...)(作为求和),基于 Ian Smith 和 Morten Welinder 的想法。

qhyper 基于(早期的 phyper() 算法)的反转。

rhyper 基于修正版本

Kachitvichyanukul, V. 和 Schmeiser, B. (1985)。计算机生成超几何随机变量。统计计算与模拟杂志,22, 127-145。

参考

Johnson, N. L., Kotz, S., and Kemp, A. W. (1992) Univariate Discrete Distributions, Second Edition. New York: Wiley.

也可以看看

Distributions 适用于其他标准发行版。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 The Hypergeometric Distribution。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。