# Erlang: Erlang Distribution Class In distr6: The Complete R6 Probability Distributions Interface

## Description

Mathematical and statistical functions for the Erlang distribution, which is commonly used as a special case of the Gamma distribution when the shape parameter is an integer.

## Details

The Erlang distribution parameterised with shape, α, and rate, β, is defined by the pdf,

f(x) = (β^α)(x^{α-1})(exp(-xβ)) /(α-1)!

for α = 1,2,3,… and β > 0.

## Value

Returns an R6 object inheriting from class SDistribution.

## Distribution support

The distribution is supported on the Positive Reals.

## Default Parameterisation

Erlang(shape = 1, rate = 1)

N/A

N/A

## Super classes

`distr6::Distribution` -> `distr6::SDistribution` -> `Erlang`

## Public fields

`name`

Full name of distribution.

`short_name`

Short name of distribution for printing.

`description`

Brief description of the distribution.

`packages`

Packages required to be installed in order to construct the distribution.

## Methods

#### Public methods

Inherited methods

#### Method `new()`

Creates a new instance of this R6 class.

##### Usage
`Erlang\$new(shape = NULL, rate = NULL, scale = NULL, decorators = NULL)`
##### Arguments
`shape`

`(integer(1))`
Shape parameter, defined on the positive Naturals.

`rate`

`(numeric(1))`
Rate parameter of the distribution, defined on the positive Reals.

`scale`

`numeric(1))`
Scale parameter of the distribution, defined on the positive Reals. `scale = 1/rate`. If provided `rate` is ignored.

`decorators`

`(character())`
Decorators to add to the distribution during construction.

#### Method `mean()`

The arithmetic mean of a (discrete) probability distribution X is the expectation

E_X(X) = ∑ p_X(x)*x

with an integration analogue for continuous distributions.

##### Usage
`Erlang\$mean(...)`
`...`

Unused.

#### Method `mode()`

The mode of a probability distribution is the point at which the pdf is a local maximum, a distribution can be unimodal (one maximum) or multimodal (several maxima).

##### Usage
`Erlang\$mode(which = "all")`
##### Arguments
`which`

`(character(1) | numeric(1)`
Ignored if distribution is unimodal. Otherwise `"all"` returns all modes, otherwise specifies which mode to return.

#### Method `variance()`

The variance of a distribution is defined by the formula

var_X = E[X^2] - E[X]^2

where E_X is the expectation of distribution X. If the distribution is multivariate the covariance matrix is returned.

##### Usage
`Erlang\$variance(...)`
`...`

Unused.

#### Method `skewness()`

The skewness of a distribution is defined by the third standardised moment,

sk_X = E_X[((x - μ)/σ)^3]

where E_X is the expectation of distribution X, μ is the mean of the distribution and σ is the standard deviation of the distribution.

##### Usage
`Erlang\$skewness(...)`
`...`

Unused.

#### Method `kurtosis()`

The kurtosis of a distribution is defined by the fourth standardised moment,

k_X = E_X[((x - μ)/σ)^4]

where E_X is the expectation of distribution X, μ is the mean of the distribution and σ is the standard deviation of the distribution. Excess Kurtosis is Kurtosis - 3.

##### Usage
`Erlang\$kurtosis(excess = TRUE, ...)`
##### Arguments
`excess`

`(logical(1))`
If `TRUE` (default) excess kurtosis returned.

`...`

Unused.

#### Method `entropy()`

The entropy of a (discrete) distribution is defined by

- ∑ (f_X)log(f_X)

where f_X is the pdf of distribution X, with an integration analogue for continuous distributions.

##### Usage
`Erlang\$entropy(base = 2, ...)`
##### Arguments
`base`

`(integer(1))`
Base of the entropy logarithm, default = 2 (Shannon entropy)

`...`

Unused.

#### Method `mgf()`

The moment generating function is defined by

mgf_X(t) = E_X[exp(xt)]

where X is the distribution and E_X is the expectation of the distribution X.

##### Usage
`Erlang\$mgf(t, ...)`
##### Arguments
`t`

`(integer(1))`
t integer to evaluate function at.

`...`

Unused.

#### Method `cf()`

The characteristic function is defined by

cf_X(t) = E_X[exp(xti)]

where X is the distribution and E_X is the expectation of the distribution X.

##### Usage
`Erlang\$cf(t, ...)`
##### Arguments
`t`

`(integer(1))`
t integer to evaluate function at.

`...`

Unused.

#### Method `pgf()`

The probability generating function is defined by

pgf_X(z) = E_X[exp(z^x)]

where X is the distribution and E_X is the expectation of the distribution X.

##### Usage
`Erlang\$pgf(z, ...)`
##### Arguments
`z`

`(integer(1))`
z integer to evaluate probability generating function at.

`...`

Unused.

#### Method `clone()`

The objects of this class are cloneable with this method.

##### Usage
`Erlang\$clone(deep = FALSE)`
##### Arguments
`deep`

Whether to make a deep clone.

## References

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

Other continuous distributions: `Arcsine`, `BetaNoncentral`, `Beta`, `Cauchy`, `ChiSquaredNoncentral`, `ChiSquared`, `Dirichlet`, `Exponential`, `FDistributionNoncentral`, `FDistribution`, `Frechet`, `Gamma`, `Gompertz`, `Gumbel`, `InverseGamma`, `Laplace`, `Logistic`, `Loglogistic`, `Lognormal`, `MultivariateNormal`, `Normal`, `Pareto`, `Poisson`, `Rayleigh`, `ShiftedLoglogistic`, `StudentTNoncentral`, `StudentT`, `Triangular`, `Uniform`, `Wald`, `Weibull`
Other univariate distributions: `Arcsine`, `Bernoulli`, `BetaNoncentral`, `Beta`, `Binomial`, `Categorical`, `Cauchy`, `ChiSquaredNoncentral`, `ChiSquared`, `Degenerate`, `DiscreteUniform`, `Empirical`, `Exponential`, `FDistributionNoncentral`, `FDistribution`, `Frechet`, `Gamma`, `Geometric`, `Gompertz`, `Gumbel`, `Hypergeometric`, `InverseGamma`, `Laplace`, `Logarithmic`, `Logistic`, `Loglogistic`, `Lognormal`, `NegativeBinomial`, `Normal`, `Pareto`, `Poisson`, `Rayleigh`, `ShiftedLoglogistic`, `StudentTNoncentral`, `StudentT`, `Triangular`, `Uniform`, `Wald`, `Weibull`, `WeightedDiscrete`