Learn R Programming

statmod (version 1.4.26)

invgauss: Inverse Gaussian Distribution

Description

Density, cumulative probability, quantiles and random generation for the inverse Gaussian distribution.

Usage

dinvgauss(x, mean=1, shape=NULL, dispersion=1, log=FALSE) pinvgauss(q, mean=1, shape=NULL, dispersion=1, lower.tail=TRUE, log.p=FALSE) qinvgauss(p, mean=1, shape=NULL, dispersion=1, lower.tail=TRUE, log.p=FALSE, maxit=200L, tol=1e-14, trace=FALSE) rinvgauss(n, mean=1, shape=NULL, dispersion=1)

Arguments

x,q
vector of quantiles.
p
vector of probabilities.
n
sample size. If length(n) is larger than 1, then length(n) random values are returned.
mean
vector of (positive) means.
shape
vector of (positive) shape parameters.
dispersion
vector of (positive) dispersion parameters. Ignored if shape is not NULL, in which case dispersion=1/shape.
lower.tail
logical; if TRUE, probabilities are P(Xq).
log
logical; if TRUE, the log-density is returned.
log.p
logical; if TRUE, probabilities are on the log-scale.
maxit
maximum number of Newton iterations used to find q.
tol
small positive numeric value giving the convergence tolerance for the quantile.
trace
logical, if TRUE then the working estimate for q from each iteration will be output.

Value

Output values give density (dinvgauss), probability (pinvgauss), quantile (qinvgauss) or random sample (rinvgauss) for the inverse Gaussian distribution with mean mean and dispersion dispersion. Output is a vector of length equal to the maximum length of any of the arguments x, q, mean, shape or dispersion. If the first argument is the longest, then all the attributes of the input argument are preserved on output, for example, a matrix x will give a matrix on output. Elements of input vectors that are missing will cause the corresponding elements of the result to be missing, as will non-positive values for mean or dispersion.

Details

The inverse Gaussian distribution takes values on the positive real line. It is somewhat more right skew than the gamma distribution, with variance given by dispersion*mean^3. The distribution has applications in reliability and survival analysis, and is one of the response distributions used in generalized linear models.

These functions implement numeric algorithms due to Giner and Smyth (2016) that achieve close to full machine accuracy for all possible parameter values.

The shape and dispersion parameters are alternative parametrizations for the variability, with dispersion=1/shape. Only one of these two arguments needs to be specified. If both are set, then shape takes precedence.

References

Giner, G., and Smyth, G. K. (2016). statmod: Probability calculations for the inverse Gaussian distribution. R Journal, Volume 8, in press. http://arxiv.org/abs/1603.06687

See Also

dinvGauss, pinvGauss, qinvGauss and rinvGauss in the SuppDists package.

Examples

Run this code
q <- rinvgauss(10, mean=1, disp=0.5) # generate vector of 10 random numbers
p <- pinvgauss(q, mean=1, disp=0.5) # p should be uniformly distributed

# Quantile for small right tail probability:
qinvgauss(1e-20, mean=1.5, disp=0.7, lower.tail=FALSE)

# Same quantile, but represented in terms of left tail probability on log-scale
qinvgauss(-1e-20, mean=1.5, disp=0.7, lower.tail=TRUE, log.p=TRUE)

Run the code above in your browser using DataLab