Easy conversion between the life table indicators. This function is based on the LifeTable function and methods behind it.
convertFx(x, data, from, to,...)
Arguments
x: Vector of ages at the beginning of the age interval.
data: Vector or data.frame/matrix containing the mortality indicators.
from: Specify the life table indicator in the input data. Character. Options: mx, qx, dx, lx.
to: What indicator would you like to obtain? Character. Options: mx, qx, dx, lx, Lx, Tx, ex.
...: Further arguments to be passed to the LifeTable
function with impact on the results to be produced.
Returns
A matrix or array containing life table indicators.
Examples
# Data ---x <-0:110mx <- ahmd$mx
# mx to qxqx <- convertFx(x, data = mx, from ="mx", to ="qx")# mx to dxdx <- convertFx(x, data = mx, from ="mx", to ="dx")# mx to lxlx <- convertFx(x, data = mx, from ="mx", to ="lx")# There are 28 possible combinations --------------------------------# Let generate all of them.from <- c("mx","qx","dx","lx")to <- c("mx","qx","dx","lx","Lx","Tx","ex")K <- expand.grid(from = from, to = to)# all possible cases/combinationsfor(i in1:nrow(K)){ In <- as.character(K[i,"from"]) Out <- as.character(K[i,"to"]) N <- paste0(Out,"_from_", In) cat(i," Create", N,"\n")# Create the 28 sets of results assign(N, convertFx(x = x, data = get(In), from = In, to = Out))}