Learn R Programming

distr6 (version 1.3.6)

Hypergeometric: Hypergeometric Distribution Class

Description

Mathematical and statistical functions for the Hypergeometric distribution, which is commonly used to model the number of successes out of a population containing a known number of possible successes, for example the number of red balls from an urn or red, blue and yellow balls.

Value

Returns an R6 object inheriting from class SDistribution.

Constructor

Hypergeometric$new(size = 10, successes = 5, failures = NULL, draws = 2, decorators = NULL, verbose = FALSE)

Constructor Arguments

Argument Type Details
size numeric population size.
successes numeric number of population successes.
failures numeric number of population failures.
draws numeric number of draws.

decorators Decorator decorators to add functionality. See details.

Constructor Details

The Hypergeometric distribution is parameterised with size and draws as positive whole numbers, and either successes or failures as positive whole numbers. These are related via, $$failures = size - successes$$ If failures is given then successes is ignored.

Public Variables

Variable Return
name Name of distribution.
short_name Id of distribution.
description Brief description of distribution.

Public Methods

Accessor Methods Link
decorators decorators
traits traits
valueSupport valueSupport
variateForm variateForm
type type
properties properties
support support
symmetry symmetry
sup sup
inf inf
dmax dmax
dmin dmin
skewnessType skewnessType
kurtosisType kurtosisType

Statistical Methods Link pdf(x1, ..., log = FALSE, simplify = TRUE) pdf cdf(x1, ..., lower.tail = TRUE, log.p = FALSE, simplify = TRUE) cdf quantile(p, ..., lower.tail = TRUE, log.p = FALSE, simplify = TRUE) quantile.Distribution rand(n, simplify = TRUE) rand mean() mean.Distribution variance() variance stdev() stdev prec() prec cor() cor skewness() skewness kurtosis(excess = TRUE) kurtosis entropy(base = 2) entropy mgf(t) mgf cf(t) cf pgf(z) pgf median() median.Distribution iqr() iqr mode(which = "all") mode

Parameter Methods Link parameters(id) parameters getParameterValue(id, error = "warn") getParameterValue setParameterValue(..., lst = NULL, error = "warn") setParameterValue

Validation Methods Link liesInSupport(x, all = TRUE, bound = FALSE) liesInSupport liesInType(x, all = TRUE, bound = FALSE) liesInType

Representation Methods Link strprint(n = 2) strprint print(n = 2) print summary(full = T) summary.Distribution

Details

The Hypergeometric distribution parameterised with population size, \(N\), number of possible successes, \(K\), and number of draws from the distribution, \(n\), is defined by the pmf, $$f(x) = C(K, x)C(N-K,n-x)/C(N,n)$$ for \(N = \{0,1,2,\ldots\}\), \(n, K = \{0,1,2,\ldots,N\}\) and \(C(a,b)\) is the combination (or binomial coefficient) function.

The distribution is supported on \(\{max(0, n + K - N),...,min(n,K)\}\).

mgf and cf are omitted as no closed form analytic expression could be found, decorate with CoreStatistics for numerical results.

References

McLaughlin, M. P. (2001). A compendium of common probability distributions (pp. 2014-01). Michael P. McLaughlin.

See Also

listDistributions for all available distributions. CoreStatistics for numerical results.

Examples

Run this code
# NOT RUN {
Hypergeometric$new(size = 10, successes = 7, draws = 5)
Hypergeometric$new(size = 10, failures = 3, draws = 5)

# Default is size = 50, successes = 5, draws = 10
x = Hypergeometric$new(verbose = TRUE)

# Update parameters
# When any parameter is updated, all others are too!
x$setParameterValue(failures = 10)
x$parameters()

# d/p/q/r
x$pdf(5)
x$cdf(5)
x$quantile(0.42)
x$rand(4)

# Statistics
x$mean()
x$variance()

summary(x)

# }

Run the code above in your browser using DataLab