phyperAllBin {DPQ}R Documentation

Compute Hypergeometric Probabilities via Binomial Approximations

Description

Usage

phyperAllBin (m, n, k, q = .suppHyper(m, n, k), lower.tail = TRUE, log.p = FALSE)
phyperAllBinM(m, n, k, q = .suppHyper(m, n, k), lower.tail = TRUE, log.p = FALSE)
.suppHyper(m, n, k)

Arguments

m

the number of white balls in the urn.

n

the number of black balls in the urn.

k

the number of balls drawn from the urn, hence must be in 0,1,…, m+n.

q

vector of quantiles representing the number of white balls drawn without replacement from an urn which contains both black and white balls. The default, .suppHyper(m, n, k) provides the full (finite) support.

lower.tail

logical; if TRUE (default), probabilities are P[X ≤ x], otherwise, P[X > x].

log.p

logical; if TRUE, probabilities p are given as log(p).

Value

the phyperAllBin*() functions return a numeric matrix, with each column a different approximation to phyper(m,n,k,q, lower.tail, log.p).

Note that the columns of phyperAllBinM() are a subset of those from phyperAllBin().

Author(s)

Martin Maechler

References

See those in phyperBinMolenaar.

See Also

phyperBin.1 etc, and phyperBinMolenaar.

phyper

Examples

.suppHyper # very simple:
stopifnot(identical(.suppHyper, ignore.environment = TRUE,
         function (m, n, k) max(0, k-n):min(k, m)))

phBall <- phyperAllBin (5,15, 7)
phBalM <- phyperAllBinM(5,15, 7)
stopifnot(identical(
            phBall[, colnames(phBalM)] ,
            phBalM)
         , .suppHyper(5, 15, 7) == 0:5
)

round(phBall, 4)
## relative Error: number of correct digits =
cbind(q = 0:5, round(-log10(abs(1 - phBall / phyper(0:5, 5,15,7))),  digits=2))

[Package DPQ version 0.4-2 Index]