kannisto: Kannisto Method

View source: R/kannisto.R

kannistoR Documentation

Kannisto Method

Description

Extrapolate given mortality rates using the original Kannisto method.

Usage

kannisto(mx, est.ages = seq(80, 95, by = 5), proj.ages = seq(100, 130, by = 5))

Arguments

mx

A vector or matrix of mortality rates. If it is a matrix, rows correspond to age groups with rownames identifying the corresponding age as integers. By default five-years age groups are assigned to rows if rownames are not given.

est.ages

A vector of integers identifying the ages to be used for estimation. It should be a subset of rownames of mx. Change the defaults if 1-year age groups are used (see Example).

proj.ages

A vector of integers identifying the age groups for which mortality rates are to be projected. Change the defaults if 1-year age groups are used (see Example).

Details

The function first estimates the original Kannisto parameters by passing mortality rates for age groups est.ages into the kannisto.estimate function. The estimated parameters are then passed to the projection function kannisto.predict to extrapolate into ages proj.ages. Lastly, the input mortality object is extended by results for the extrapolated ages. If proj.ages contains age groups that are included in mx, values for those age groups are overwritten.

Value

A vector or matrix containing the input mortality object mx extended by the extrapolated age groups.

References

Thatcher, A. R., Kannisto, V. and Vaupel, J. W. (1998). The Force of Mortality at Ages 80 to 120, volume 5 of Odense Monographs on Population Aging Series. Odense, Denmark: Odense University Press.

See Also

kannisto.estimate, kannisto.predict, cokannisto

Examples

data(mxM, package = "wpp2017")
mx <- subset(mxM, name == "Burkina Faso")[,-(1:3)]
rownames(mx) <- c(0,1, seq(5, 100, by=5))
mxnew <- kannisto(mx)
ages <- as.integer(rownames(mxnew))
plot(ages, mxnew[,"2095-2100"], type="l", log="y", 
    xlab="age", ylab="mx", col="red")
lines(ages, mxnew[,"2010-2015"])

# Kannisto for 1-year age groups
# derive toy 1-year mx using model life tables at e0 of 70
mx1y <- mlt(70, sex = "male", nx = 1)
# Pretend we only observed mx for ages 0:100. 
# Use 90-99 for estimation and extend mx from 100 to 140
mx1ynew <- kannisto(mx1y[1:100, , drop = FALSE], est.ages = 90:99, proj.ages = 100:140)
# Plot the new mx for old ages
plot(80:140, mx1ynew[81:141], type = "l", xlab="age", ylab="mx", col="red")
# Check how it compares to the original mx that was not used in the estimation
lines(100:130, mx1y[101:nrow(mx1y)])


MortCast documentation built on April 1, 2022, 1:05 a.m.