Learn R Programming

extraDistr (version 1.10.0)

Wald: Wald (inverse Gaussian) distribution

Description

Density, distribution function and random generation for the Wald distribution.

Usage

dwald(x, mu, lambda, log = FALSE)

pwald(q, mu, lambda, lower.tail = TRUE, log.p = FALSE)

rwald(n, mu, lambda)

Arguments

x, q

vector of quantiles.

mu, lambda

location and shape parameters. Scale must be positive.

log, log.p

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

lower.tail

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

n

number of observations. If length(n) > 1, the length is taken to be the number required.

p

vector of probabilities.

Details

Probability density function $$ f(x) = \sqrt{\frac{\lambda}{2\pi x^3}} \exp\left( \frac{-\lambda(x-\mu)^2}{2\mu^2 x} \right) $$

Cumulative distribution function $$ F(x) = \Phi\left(\sqrt{\frac{\lambda}{x}} \left(\frac{x}{\mu}-1 \right) \right) + \exp\left(\frac{2\lambda}{\mu} \right) \Phi\left(\sqrt{\frac{\lambda}{x}} \left(\frac{x}{\mu}+1 \right) \right) $$

Random generation is done using the algorithm described by Michael, Schucany and Haas (1976).

References

Michael, J.R., Schucany, W.R., and Haas, R.W. (1976). Generating Random Variates Using Transformations with Multiple Roots. The American Statistician, 30(2): 88-90.

Examples

Run this code

x <- rwald(1e5, 5, 16)
hist(x, 100, freq = FALSE)
curve(dwald(x, 5, 16), 0, 50, col = "red", add = TRUE)
hist(pwald(x, 5, 16))
plot(ecdf(x))
curve(pwald(x, 5, 16), 0, 50, col = "red", lwd = 2, add = TRUE)

Run the code above in your browser using DataLab