# Nbinom-class

##### Class "Nbinom"

The negative binomial distribution with `size`

$= n$, by default $=1$, and
`prob`

$= p$, by default $=0.5$, has density
$$
d(x) = \frac{\Gamma(x+n)}{\Gamma(n) x!} p^n (1-p)^x$$
for $x = 0, 1, 2, \ldots$

This represents the number of failures
which occur in a sequence of Bernoulli trials before a target number
of successes is reached.
C.f. `rnbinom`

- Keywords
- distribution

##### Note

Working with a computer, we use a finite interval as support which carries at least mass `1-getdistrOption("TruncQuantile")`

.

##### Objects from the Class

Objects can be created by calls of the form `Nbinom(prob, size)`

.
This object is a negative binomial 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
`"NbinomParameter"`

: the parameter of this distribution (prob, size), declared at its instantiation `r`

- Object of class
`"function"`

: generates random numbers (calls function`rnbinom`

) `d`

- Object of class
`"function"`

: density function (calls function`dnbinom`

) `p`

- Object of class
`"function"`

: cumulative function (calls function`pnbinom`

) `q`

- Object of class
`"function"`

: inverse of the cumulative function (calls function`qnbinom`

). The quantile is defined as the smallest value $x$ such that $F(x) \ge p$, where $F$ is the distribution 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 = "Nbinom")`

: initialize method- prob
`signature(object = "Nbinom")`

: returns the slot`prob`

of the parameter of the distribution- prob<-
`signature(object = "Nbinom")`

: modifies the slot`prob`

of the parameter of the distribution- size
`signature(object = "Nbinom")`

: returns the slot`size`

of the parameter of the distribution- size<-
`signature(object = "Nbinom")`

: modifies the slot`size`

of the parameter of the distribution- +
`signature(e1 = "Nbinom", e2 = "Nbinom")`

: For the negative binomial distribution we use its closedness under convolutions.

##### See Also

`NbinomParameter-class`

`Geom-class`

`DiscreteDistribution-class`

`Naturals-class`

`rnbinom`

##### Examples

```
N <- Nbinom(prob = 0.5, size = 1) # N is a binomial distribution with prob=0.5 and size=1.
r(N)(1) # one random number generated from this distribution, e.g. 3
d(N)(1) # Density of this distribution is 0.25 for x=1.
p(N)(0.4) # Probability that x<0.4 is 0.5.
q(N)(.1) # x=0 is the smallest value x such that p(B)(x)>=0.1.
size(N) # size of this distribution is 1.
size(N) <- 2 # size of this distribution is now 2.
```

*Documentation reproduced from package distr, version 2.6, License: LGPL-3*