cokannisto {MortCast} | R Documentation |
Coherent Kannisto Method
Description
Extrapolate given mortality rates into higher ages using the Coherent Kannisto method as described in Sevcikova et al. (2016).
Usage
cokannisto(
mxM,
mxF,
est.ages = seq(80, 95, by = 5),
proj.ages = seq(100, 130, by = 5)
)
Arguments
mxM |
A vector or matrix of male 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. |
mxF |
A vector or matrix of female mortality rates. Its length or dimension
should be the same |
est.ages |
A vector of integers identifying the ages to be used
for estimation. It should be a subset of rownames of |
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 in |
Details
The function first estimates the coherent Kannisto parameters
by passing mortality rates for age groups est.ages
into
the cokannisto.estimate
function.
The estimated parameters are then passed to the projection function
kannisto.predict
to extrapolate into ages proj.ages
.
Lastly, the input mortality objects are extended by results for the extrapolated ages.
If proj.ages
contains age groups that are included in mxM
and mxF
,
values for those age groups are overwritten.
Value
A list of two vectors or matrices (for male and female) containing the input motality objects extended by the extrapolated age groups.
References
Sevcikova H., Li N., Kantorova V., Gerland P., Raftery A.E. (2016). Age-Specific Mortality and Fertility Rates for Probabilistic Population Projections. In: Schoen R. (eds) Dynamic Demographic Analysis. The Springer Series on Demographic Methods and Population Analysis, vol 39. Springer, Cham
See Also
cokannisto.estimate
, kannisto.predict
Examples
data(mxM, mxF, package = "wpp2017")
country <- "South Africa"
mxm <- subset(mxM, name == country)[,-(1:3)]
mxf <- subset(mxF, name == country)[,-(1:3)]
rownames(mxm) <- rownames(mxf) <- c(0,1, seq(5, 100, by=5))
mxnew <- cokannisto(mxm, mxf)
ages <- as.integer(rownames(mxnew$male))
plot(ages, mxnew$male[,"2095-2100"], type="l", log="y",
xlab="age", ylab="mx", col="blue", main=country)
lines(ages, mxnew$female[,"2095-2100"], col="red")
lines(ages, mxnew$male[,"2010-2015"], lty=2, col="blue")
lines(ages, mxnew$female[,"2010-2015"], lty=2, col="red")
legend("bottomright", legend=c("male 2010-2015", "female 2010-2015",
"male 2095-2100", "female 2095-2100"), bty="n",
col=rep(c("blue", "red"),2), lty=c(2,2,1,1))