R: Class "Hyper"

Hyper-class {distr} | R Documentation

## Class "Hyper"

### Description

The hypergeometric distribution is used for sampling without replacement. The density of this distribution with parameters `m`, `n` and `k` (named Np, N-Np, and n, respectively in the reference below) is given by

p(x) = choose(m, x) choose(n, k-x) / choose(m+n, k)

for x = 0, ..., k. C.f. `rhyper`

### Objects from the Class

Objects can be created by calls of the form `Hyper(m, n, k)`. This object is a hypergeometric distribution.

### Slots

`img`

  Object of class `"Naturals"`: The space of the image of this distribution has got dimension 1 and the name "Natural Space".

`param`

  Object of class `"HyperParameter"`: the parameter of this distribution (`m`, `n`, `k`), declared at its instantiation

`r`

  Object of class `"function"`: generates random numbers (calls function `rhyper`)

`d`

  Object of class `"function"`: density function (calls function `dhyper`)

`p`

  Object of class `"function"`: cumulative function (calls function `phyper`)

`q`

  Object of class `"function"`: inverse of the cumulative function (calls function `qhyper`). The alpha-quantile is defined as the smallest value x such that p(x) >= alpha, where p is the cumulative function.

`support`:

  Object of class `"numeric"`: a (sorted) vector containing the support of the discrete density function

`.withArith`

  logical: used internally to issue warnings as to interpretation of arithmetics

`.withSim`

  logical: used internally to issue warnings as to accuracy

`.logExact`

  logical: used internally to flag the case where there are explicit formulae for the log version of density, cdf, and quantile function

`.lowerExact`

  logical: used internally to flag the case where there are explicit formulae for the lower tail version of cdf and quantile function

`Symmetry`

  object of class `"DistributionSymmetry"`; used internally to avoid unnecessary calculations.

### Extends

Class `"DiscreteDistribution"`, directly.
Class `"UnivariateDistribution"`, by class `"DiscreteDistribution"`.
Class `"Distribution"`, by class `"DiscreteDistribution"`.

### Methods

initialize

  `signature(.Object = "Hyper")`: initialize method

m

  `signature(object = "Hyper")`: returns the slot `m` of the parameter of the distribution

m<-

  `signature(object = "Hyper")`: modifies the slot `m` of the parameter of the distribution

n

  `signature(object = "Hyper")`: returns the slot `n` of the parameter of the distribution

n<-

  `signature(object = "Hyper")`: modifies the slot `n` of the parameter of the distribution

k

  `signature(object = "Hyper")`: returns the slot `k` of the parameter of the distribution

k<-

  `signature(object = "Hyper")`: modifies the slot `k` of the parameter of the distribution

### Author(s)

Thomas Stabla statho3@web.de,
Florian Camphausen fcampi@gmx.de,
Peter Ruckdeschel peter.ruckdeschel@uni-oldenburg.de,
Matthias Kohl Matthias.Kohl@stamats.de

### See Also

`HyperParameter-class` `DiscreteDistribution-class` `Naturals-class` `rhyper`

### Examples

    H <- Hyper(m=3,n=3,k=3) # H is a hypergeometric distribution with m=3,n=3,k=3.
    r(H)(1) # one random number generated from this distribution, e.g. 2
    d(H)(1) # Density of this distribution is  0.45 for x=1.
    p(H)(1) # Probability that x<1 is 0.5.
    q(H)(.1) # x=1 is the smallest value x such that p(H)(x)>=0.1.
    ## in RStudio or Jupyter IRKernel, use q.l(.)(.) instead of q(.)(.)
    m(H) # m of this distribution is 3.
    m(H) <- 2 # m of this distribution is now 2.

[Package distr version 2.8.0 Index]