Classes to implement and plot cohort life tables for actuarial calculations. In particular, birth-year dependent mortality tables using a yearly trend to extrapolate from a base year are implemented, as well as period life table, cohort life tables using an age shift, and merged life tables.

R package implementing actuarial mortality tables (period and cohort life tables)

The MortalityTables package provides the `mortalityTable`

base class and
some derived classes to handle different types of mortality tables (also
called life tables), mainly
used for life insurance. Additionally it provides a plot function to compare
multiple life tables either directly using the absolute mortalities in
log-linear plots or using relative mortalities as percentages of a given
reference table.

Provided types of mortality tables are:

- Base class
: Class
`mortalityTable`

- Period life table
: Class
`mortalityTable.period (ages, deathProbs, ..., baseYear=2000)`

: Death probabilities observed / predicted for one observation year; No dependency on the bith year is assumed. - Cohort life table using age-specific trends
: Class
`mortalityTable.trendProjection`

: Death probabilities of a given base year are projected into the future using age-specific trends $\lambda_x$. The death probability of an $x$-year old in year`baseYear + n`

is calculated as: $$q_x^{(baseYear+n)} = q_x^{(baseYear)} \cdot e^{-n\cdot\lambda_x}$$ : Consequently, the death probabilities for a person born in year`YOB`

can be calculated as $$q_x^{YOB} = q_x^{(base)} \cdot e^{-(YOB+x-baseYear)\cdot \lambda_x}$$ - Cohort life table approximation using age shift
: Class
`mortalityTable.ageShift`

: Death probabilities for cohort $YOB$ are obtained by using death probabilities for cohort $X$ and modifying the technical age with a birth-year dependent shift: $$q_x^{YOB} = q_{x+shift(YOB)}^{(base)}$$

- Mixed life table
: Class
`mortalityTable.mixed`

: Arithmetic mean of two life tables with given weights. This approach is often used to generate unisex life tables by mixing male and female mortalities with given weights (e.g. 70:30 or 40:60) - Cohort life table using age-specific improvement factors
: Class
`mortalityTable.improvementFactors`

: Project base life table using age-specific improvement factors. - Pension table
: Class
`pensionTable`

: Four states: active, early retirement / invalidity, old-age pension, death (with optional widow) : All slots describe the corresponding transition probabilities by a :`mortalityTable`

-derived object.

```
library("MortalityTables")
```

The package provides several real-life life tables published by census bureaus
and actuarial associations around the world. You can use the function
`mortalityTables.list`

to list all available datasets (if no argument is given)
or all datasets that match the given pattern (wildcard character is *). You can
then use `mortalityTables.load`

to load either one single data set or all
datasets that match the pattern.

```
# list all available data sets
mortalityTables.list()
# list all datasets for Austria
mortalityTables.list("Austria_*")
# Load the German annuity table DAV 2004-R
mortalityTables.load("Germany_Annuities_DAV2004R")
# Load all Austrian data sets
mortalityTables.load("Austria_*")
```

For further information on how to use the package, see the "Using the MortalityTables Package" vignette.