# LifeTable: Compute Life Tables from Mortality Data In MortalityLaws: Parametric Mortality Models, Life Tables and HMD

## Description

Construct either a full or abridged 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 is specified, the other can be ignored. The input data can be an object of class: numerical `vector`, `matrix` or `data.frame`.

## Usage

 ```1 2 3 4 5 6 7 8``` ```LifeTable(x, Dx = NULL, Ex = NULL, mx = NULL, qx = NULL, lx = NULL, dx = NULL, sex = NULL, lx0 = 1e5, 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 of survival up until age x. `dx` Deaths by life-table population in the 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 the 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`.

## Details

The "life table" is also called "mortality table" or "actuarial table". This shows, for each age, what the probability is that a person of that age will die before his or her next birthday, the expectation of life across different age ranges or the survivorship of people from a certain population.

## Value

The output is of the `"LifeTable"` class 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.

## Author(s)

Marius D. Pascariu

`LawTable` `convertFx`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32``` ```# 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 --- Abridged 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 ```