# 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. In R2.x.y
`scale`

took precedence over `rate`

, but now it is an error
to supply both.

`pgamma`

is closely related to the incomplete gamma function. As
defined by Abramowitz and Stegun 6.5.1 (and by `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 `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

See also

##### concept

incomplete gamma function

##### source

`dgamma`

is computed via the Poisson density, using code contributed
by Catherine Loader (see `dbinom`

).

`pgamma`

uses an unpublished (and not otherwise documented)
algorithm

`qgamma`

is based on a C translation of

Best, D. J. and D. E. Roberts (1975).
Algorithm AS91. Percentage points of the chi-squared distribution.
*Applied Statistics*, **24**, 385--388.

plus a final Newton step to improve the approximation.

`rgamma`

for `shape >= 1`

uses

Ahrens, J. H. and Dieter, U. (1982).
Generating gamma variates by a modified rejection technique.
*Communications of the ACM*, **25**, 47--54,

and for `0 < shape < 1`

uses

Ahrens, J. H. and Dieter, U. (1974).
Computer methods for sampling from gamma, beta, Poisson and binomial
distributions. *Computing*, **12**, 223--246.

##### 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.

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.

##### 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)`

```
-log(dgamma(1:4, shape = 1))
p <- (1:9)/10
pgamma(qgamma(p, shape = 2), shape = 2)
1 - 1/exp(qgamma(p, shape = 1))
# 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.3, License: Part of R 3.3*