invgamma | R Documentation |
Density, distribution function, quantile function and random generation for the inverse gamma distribution.
dinvgamma(x, shape, rate = 1, scale = 1/rate, log = FALSE) pinvgamma(q, shape, rate = 1, scale = 1/rate, lower.tail = TRUE, log.p = FALSE) qinvgamma(p, shape, rate = 1, scale = 1/rate, lower.tail = TRUE, log.p = FALSE) rinvgamma(n, shape, rate = 1, scale = 1/rate)
x, q |
vector of quantiles. |
shape |
inverse gamma shape parameter |
rate |
inverse gamma rate parameter |
scale |
alternative to rate; scale = 1/rate |
log, log.p |
logical; if |
lower.tail |
logical; if |
p |
vector of probabilities. |
n |
number of observations. If length(n) > 1, the length is taken to be the number required. |
The inverse gamma distribution with parameters shape and rate has density
f(x) = \frac{rate^{shape}}{Γ(shape)} x^{-1-shape} e^{-rate/x}
it is the inverse of the standard gamma parameterzation in R. If X \sim InvGamma(shape, rate),
E[X] = \frac{rate}{shape-1}
when shape > 1 and
Var(X) = \frac{rate^2}{(shape - 1)^2(shape - 2)}
for shape > 2.
The functions (d/p/q/r)invgamma()
simply wrap those of the standard
(d/p/q/r)gamma()
R implementation, so look at, say, stats::dgamma()
for
details.
stats::dgamma()
; these functions just wrap the (d/p/q/r)gamma()
functions.
s <- seq(0, 5, .01) plot(s, dinvgamma(s, 7, 10), type = 'l') f <- function(x) dinvgamma(x, 7, 10) q <- 2 integrate(f, 0, q) (p <- pinvgamma(q, 7, 10)) qinvgamma(p, 7, 10) # = q mean(rinvgamma(1e5, 7, 10) <= q) shape <- 3; rate <- 7 x <- rinvgamma(1e6, shape, rate) mean(x) # = rate / (shape - 1) var(x) # = rate^2 / ( (shape - 1)^2 * (shape - 2) ) shape <- 7; rate <- 2.01 x <- rinvgamma(1e6, shape, rate) mean(x) # = rate / (shape - 1) var(x) # = rate^2 / ( (shape - 1)^2 * (shape - 2) )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.