| Makeham | R Documentation |
Density, cumulative distribution function, quantile function and random generation for the Makeham distribution.
dmakeham(x, scale = 1, shape, epsilon = 0, log = FALSE)
pmakeham(q, scale = 1, shape, epsilon = 0, lower.tail = TRUE,
log.p = FALSE)
qmakeham(p, scale = 1, shape, epsilon = 0, lower.tail = TRUE,
log.p = FALSE)
rmakeham(n, scale = 1, shape, epsilon = 0)
x, q |
vector of quantiles. |
p |
vector of probabilities. |
n |
number of observations.
Same as in |
log |
Logical.
If |
lower.tail, log.p |
Same meaning as in |
scale, shape |
positive scale and shape parameters. |
epsilon |
another parameter. Must be non-negative. See below. |
See makeham for details.
The default value of epsilon = 0 corresponds
to the Gompertz distribution.
The function pmakeham uses lambertW.
dmakeham gives the density,
pmakeham gives the cumulative distribution function,
qmakeham gives the quantile function, and
rmakeham generates random deviates.
T. W. Yee and Kai Huang
Jodra, P. (2009). A closed-form expression for the quantile function of the Gompertz-Makeham distribution. Mathematics and Computers in Simulation, 79, 3069–3075.
makeham,
lambertW.
probs <- seq(0.01, 0.99, by = 0.01)
Shape <- exp(-1); Scale <- exp(1); eps = Epsilon <- exp(-1)
max(abs(pmakeham(qmakeham(probs, sca = Scale, Shape, eps = Epsilon),
sca = Scale, Shape, eps = Epsilon) - probs)) # Should be 0
## Not run: x <- seq(-0.1, 2.0, by = 0.01);
plot(x, dmakeham(x, sca = Scale, Shape, eps = Epsilon), type = "l",
main = "Blue is density, orange is the CDF",
sub = "Purple lines are the 10,20,...,90 percentiles",
col = "blue", las = 1, ylab = "")
abline(h = 0, col = "blue", lty = 2)
lines(x, pmakeham(x, sca = Scale, Shape, eps = Epsilon), col = "orange")
probs <- seq(0.1, 0.9, by = 0.1)
Q <- qmakeham(probs, sca = Scale, Shape, eps = Epsilon)
lines(Q, dmakeham(Q, sca = Scale, Shape, eps = Epsilon),
col = "purple", lty = 3, type = "h")
pmakeham(Q, sca = Scale, Shape, eps = Epsilon) - probs # Should be all 0
abline(h = probs, col = "purple", lty = 3)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.