R: The Makeham Distribution

Makeham {VGAM} | R Documentation

## The Makeham Distribution

### Description

Density, cumulative distribution function, quantile function and random generation for the Makeham distribution.

### Usage

    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)

### Arguments

`x, q` | vector of quantiles.
`p` | vector of probabilities.
`n` | number of observations. Same as in `runif`.
`log` | Logical. If `log = TRUE` then the logarithm of the density is returned.
`lower.tail, log.p` | Same meaning as in `pnorm` or `qnorm`.
`scale, shape` | positive scale and shape parameters.
`epsilon` | another parameter. Must be non-negative. See below.

### Details

See `makeham` for details. The default value of `epsilon = 0` corresponds to the Gompertz distribution. The function `pmakeham` uses `lambertW`.

### Value

`dmakeham` gives the density, `pmakeham` gives the cumulative distribution function, `qmakeham` gives the quantile function, and `rmakeham` generates random deviates.

### Author(s)

T. W. Yee and Kai Huang

### References

Jodra, P. (2009) A closed-form expression for the quantile function of the Gompertz-Makeham distribution. Mathematics and Computers in Simulation, 79, 3069–3075.

### See Also

`makeham`, `lambertW`.

### Examples

    probs <- seq(0.01, 0.99, by = 0.01)
    Shape <- exp(-1); Scale <- exp(1); eps = Epsilon <- exp(-1)
    max(abs(pmakeham(qmakeham(p = 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 cumulative distribution function",
         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 zero
    abline(h = probs, col = "purple", lty = 3)
    ## End(Not run)

[Package VGAM version 1.0-3 Index]