Learn R Programming

nimble (version 1.2.1)

Inverse-Gamma: The Inverse Gamma Distribution

Description

Density, distribution function, quantile function and random generation for the inverse gamma distribution with rate or scale (mean = scale / (shape - 1)) parameterizations.

Usage

dinvgamma(x, shape, scale = 1, rate = 1/scale, log = FALSE)

rinvgamma(n = 1, shape, scale = 1, rate = 1/scale)

pinvgamma( q, shape, scale = 1, rate = 1/scale, lower.tail = TRUE, log.p = FALSE )

qinvgamma( p, shape, scale = 1, rate = 1/scale, lower.tail = TRUE, log.p = FALSE )

Value

dinvgamma gives the density, pinvgamma gives the distribution function, qinvgamma gives the quantile function, and rinvgamma

generates random deviates.

Arguments

x

vector of values.

shape

vector of shape values, must be positive.

scale

vector of scale values, must be positive.

rate

vector of rate values, must be positive.

log

logical; if TRUE, probability density is returned on the log scale.

n

number of observations.

q

vector of quantiles.

lower.tail

logical; if TRUE (default) probabilities are \(P[X \le x]\); otherwise, \(P[X > x]\).

log.p

logical; if TRUE, probabilities p are given by user as log(p).

p

vector of probabilities.

Author

Christopher Paciorek

Details

The inverse gamma distribution with parameters shape \(=\alpha\) and scale \(=\sigma\) has density $$ f(x)= \frac{s^a}{\Gamma(\alpha)} {x}^{-(\alpha+1)} e^{-\sigma/x}% $$ 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.

The mean and variance are \(E(X) = \frac{\sigma}{\alpha}-1\) and \(Var(X) = \frac{\sigma^2}{(\alpha-1)^2 (\alpha-2)}\), with the mean defined only for \(\alpha > 1\) and the variance only for \(\alpha > 2\).

See Gelman et al., Appendix A or the BUGS manual for mathematical details.

References

Gelman, A., Carlin, J.B., Stern, H.S., and Rubin, D.B. (2004) Bayesian Data Analysis, 2nd ed. Chapman and Hall/CRC.

See Also

Distributions for other standard distributions

Examples

Run this code
x <- rinvgamma(50, shape = 1, scale = 3)
dinvgamma(x, shape = 1, scale = 3)

Run the code above in your browser using DataLab