# GammaDist

##### The Gamma Distribution

Density, distribution function, quantile function and random
generation for the Gamma distribution with parameters `shape`

and
`scale`

.

- Keywords
- distribution

##### Usage

```
dgamma(x, shape, rate = 1, scale = 1/rate, log = FALSE)
pgamma(q, shape, rate = 1, scale = 1/rate, lower.tail = TRUE,
log.p = FALSE)
qgamma(p, shape, rate = 1, scale = 1/rate, lower.tail = TRUE,
log.p = FALSE)
rgamma(n, shape, rate = 1, scale = 1/rate)
```

##### Arguments

- x, q
vector of quantiles.

- p
vector of probabilities.

- n
number of observations. If

`length(n) > 1`

, the length is taken to be the number required.- rate
an alternative way to specify the scale.

- shape, scale
shape and scale parameters. Must be positive,

`scale`

strictly.- log, log.p
logical; if

`TRUE`

, probabilities/densities \(p\) are returned as \(log(p)\).- lower.tail
logical; if TRUE (default), probabilities are \(P[X \le x]\), otherwise, \(P[X > x]\).

##### Details

If `scale`

is omitted, it assumes the default value of `1`

.

The Gamma distribution with parameters `shape`

\(=\alpha\)
and `scale`

\(=\sigma\) has density
$$
f(x)= \frac{1}{{\sigma}^{\alpha}\Gamma(\alpha)} {x}^{\alpha-1} e^{-x/\sigma}%
$$
for \(x \ge 0\), \(\alpha > 0\) and \(\sigma > 0\).
(Here \(\Gamma(\alpha)\) is the function implemented by R's
`gamma()`

and defined in its help. Note that \(a = 0\)
corresponds to the trivial distribution with all mass at point 0.)

The mean and variance are \(E(X) = \alpha\sigma\) and \(Var(X) = \alpha\sigma^2\).

The cumulative hazard \(H(t) = - \log(1 - F(t))\) is

-pgamma(t, ..., lower = FALSE, log = TRUE)

Note that for smallish values of `shape`

(and moderate
`scale`

) a large parts of the mass of the Gamma distribution is
on values of \(x\) so near zero that they will be represented as
zero in computer arithmetic. So `rgamma`

may well return values
which will be represented as zero. (This will also happen for very
large values of `scale`

since the actual generation is done for
`scale = 1`

.)

##### Value

`dgamma`

gives the density,
`pgamma`

gives the distribution function,
`qgamma`

gives the quantile function, and
`rgamma`

generates random deviates.

Invalid arguments will result in return value `NaN`

, with a warning.

The length of the result is determined by `n`

for
`rgamma`

, and is the maximum of the lengths of the
numerical arguments for the other functions.

The numerical arguments other than `n`

are recycled to the
length of the result. Only the first elements of the logical
arguments are used.

##### Note

The S (Becker *et al*, 1988) parametrization was via `shape`

and `rate`

: S had no `scale`

parameter. It is an error
to supply and `scale`

and `rate`

.

`pgamma`

is closely related to the incomplete gamma function. As
defined by Abramowitz and Stegun 6.5.1 (and by ‘Numerical
Recipes’) this is
$$P(a,x) = \frac{1}{\Gamma(a)} \int_0^x t^{a-1} e^{-t} dt$$
\(P(a, x)\) is `pgamma(x, a)`

. Other authors (for example
Karl Pearson in his 1922 tables) omit the normalizing factor,
defining the incomplete gamma function \(\gamma(a,x)\) as
\(\gamma(a,x) = \int_0^x t^{a-1} e^{-t} dt,\) i.e., `pgamma(x, a) * gamma(a)`

.
Yet other use the ‘upper’ incomplete gamma function,
$$\Gamma(a,x) = \int_x^\infty t^{a-1} e^{-t} dt,$$
which can be computed by
`pgamma(x, a, lower = FALSE) * gamma(a)`

.

Note however that `pgamma(x, a, ..)`

currently requires \(a > 0\),
whereas the incomplete gamma function is also defined for negative
\(a\). In that case, you can use `gamma_inc(a,x)`

(for
\(\Gamma(a,x)\)) from package gsl.

See also https://en.wikipedia.org/wiki/Incomplete_gamma_function, or http://dlmf.nist.gov/8.2#i.

##### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988).
*The New S Language*.
Wadsworth & Brooks/Cole.

Shea, B. L. (1988).
Algorithm AS 239: Chi-squared and incomplete Gamma integral,
*Applied Statistics (JRSS C)*, **37**, 466--473.
10.2307/2347328.

Abramowitz, M. and Stegun, I. A. (1972)
*Handbook of Mathematical Functions.* New York: Dover.
Chapter 6: Gamma and Related Functions.

NIST Digital Library of Mathematical Functions. http://dlmf.nist.gov/, section 8.2.

##### See Also

`gamma`

for the gamma function.

Distributions for other standard distributions, including
`dbeta`

for the Beta distribution and `dchisq`

for the chi-squared distribution which is a special case of the Gamma
distribution.

##### Examples

`library(stats)`

```
# NOT RUN {
-log(dgamma(1:4, shape = 1))
p <- (1:9)/10
pgamma(qgamma(p, shape = 2), shape = 2)
1 - 1/exp(qgamma(p, shape = 1))
# }
# NOT RUN {
# even for shape = 0.001 about half the mass is on numbers
# that cannot be represented accurately (and most of those as zero)
pgamma(.Machine$double.xmin, 0.001)
pgamma(5e-324, 0.001) # on most machines 5e-324 is the smallest
# representable non-zero number
table(rgamma(1e4, 0.001) == 0)/1e4
# }
```

*Documentation reproduced from package stats, version 3.6.1, License: Part of R 3.6.1*