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-15, trace=FALSE)
rinvgauss(n, mean=1, shape=NULL, dispersion=1)
length(n)
is larger than 1, then length(n)
random values are returned.shape
is not NULL
, in which case dispersion=1/shape
.TRUE
, probabilities are P(Xq).
TRUE
, the log-density is returned.TRUE
, probabilities are on the log-scale.q
.TRUE
then the working estimate for q
from each iteration will be output.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
.dispersion*mean^3
.
The distribution has applications in reliability and survival analysis, and is one of the response distributions used in generalized linear models.
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.
pinvgauss
uses a result from Chhikara and Folks (1974), with enhancements for right tails and log-probabilities.
rinvgauss
uses an algorithm from Michael et al (1976).
qinvgauss
uses code and algorithm from Giner and Smyth (2014).dinvGauss
, pinvGauss
, qinvGauss
and rinvGauss
in the SuppDists package.q <- rinvgauss(20,mean=1,dispersion=0.5) # generate vector of 20 random numbers
p <- pinvgauss(q,mean=1,dispersion=0.5) # p should be uniform
Run the code above in your browser using DataLab