Learn R Programming

MortalityLaws (version 1.4.0)

LifeTable: Life Table Function

Description

Construct either a full or abridge life table with various input choices like: death counts and mid-interval population estimates (Dx, Ex) or age-specific death rates (mx) or death probabilities (qx) or survivorship curve (lx) or a distribution of deaths (dx). If one of these options are specified, the other can be ignored.

Usage

LifeTable(x, Dx = NULL, Ex = NULL,
             mx = NULL,
             qx = NULL,
             lx = NULL,
             dx = NULL,
             sex = NULL,
             lx0 = 1e+05,
             ax  = NULL)

Arguments

x

Vector of ages at the beginning of the age interval.

Dx

Object containing death counts. An element of the Dx object, represents the number of deaths during the year to persons aged x to x+n.

Ex

Exposure in the period. Ex can be approximated by the mid-year population aged x to x+n.

mx

Death rate in age interval [x, x+n).

qx

Probability of dying in age interval [x, x+n).

lx

Probability to survive up until age x.

dx

Deaths by life-table population in age interval [x, x+n).

sex

Sex of the population considered here. Default: NULL. This argument affects the first two values in the life table ax column. If sex is specified the values are computed based on Coale-Demeny method and are slightly different for males than for females. Options: NULL, male, female, total.

lx0

Radix. Default: 100 000.

ax

Numeric scalar. Subject-time alive in age-interval for those who die in the same interval. If NULL this will be estimated. A common assumption is ax = 0.5, i.e. the deaths occur in the middle of the interval. Default: NULL.

Value

The output is of class LifeTable with the components:

lt

Computed life table;

call

Call in which all of the specified arguments are specified by their full names;

process_date

Time stamp.

Details

The input data can be of an object of class: numeric, matrix or data.frame.

Examples

Run this code
# NOT RUN {
# Example 1 --- Full life tables with different inputs ---
 
y  <- 1900
x  <- as.numeric(rownames(ahmd$mx))
Dx <- ahmd$Dx[, paste(y)]
Ex <- ahmd$Ex[, paste(y)]

LT1 <- LifeTable(x, Dx = Dx, Ex = Ex)
LT2 <- LifeTable(x, mx = LT1$lt$mx)
LT3 <- LifeTable(x, qx = LT1$lt$qx)
LT4 <- LifeTable(x, lx = LT1$lt$lx)
LT5 <- LifeTable(x, dx = LT1$lt$dx)

LT1
LT5
ls(LT5) 

# Example 2 --- Compute multiple life tables at once ---

LTs = LifeTable(x, mx = ahmd$mx)
LTs
# A warning is printed if the input contains missing values. 
# Some of the missing values can be handled by the function.

# Example 3 --- Abridge life table ------------

x  = c(0, 1, seq(5, 110, by = 5))
mx = c(.053, .005, .001, .0012, .0018, .002, .003, .004, 
       .004, .005, .006, .0093, .0129, .019, .031, .049, 
       .084, .129, .180, .2354, .3085, .390, .478, .551)
lt = LifeTable(x, mx = mx, sex = "female")
lt

# }

Run the code above in your browser using DataLab