SampleRandAge {paramDemo} | R Documentation |
Sampling Ages at Death from a Parametric Mortality model
Description
SampleRandAge
is used to randomly sample ages at death from a parametric mortality model
Usage
SampleRandAge(n, theta, dx = 0.001, model = "GO",
shape = "simple", minSx = 1e-04)
Arguments
n |
Number of individual ages at death to sample |
theta |
Numerical vector of age-specific mortality parameters (see details). |
dx |
Numeric value for the age increments (see details). |
model |
The underlying mortality model to be used. |
shape |
The overall shape of the model. Values are: |
minSx |
Minimum value for the survival function to set the maximum age (see details) |
Details
SampleRandAge
arguments “model
” and “shape
”, to calculate the survival function, S(x)
for x \geq 0
, at discrete age intervals [x, x + \Delta x)
where \Delta x
is specfied with argument “dx
”. It then calculates the CDF of ages at death, F(x)
, and uses inverse sampling to sample n
ages at death by random sampling from a uniform distribution bound as
u_i \sim Unif[F(x_m), F(x_M)],
where x_m = min(x)
and x_M = max(x)
. It then finds the corresponding ages at death as
x_i = F^{-1}(u_i).
In most cases, this is acheived numerically and thus the lower the value for argument “dx
” the higher the precision.
Value
SampleRandAge
returns a vector of class “numeric
” with randmly generated ages at death.
Author(s)
Fernando Colchero fernando_colchero@eva.mpg.de
Examples
# Simulate age at death data from Gompertz model:
ages <- SampleRandAge(n = 100, theta = c(b0 = -5, b1 = 0.1))
# Simulate age at death data from Siler model:
ages <- SampleRandAge(n = 100, theta = c(a0 = 0, a1 = 1, c = 0.001,
b0 = -5, b1 = 0.1), model = "GO",
shape = "bathtub")