Evaluate age structureIndicators to evaluate the degreee of age heaping 


calculate Bachi's index of age heaping 

CoaleLi age heaping index 

Calculate Jdanov's oldage heaping index 

Kannisto's age heaping index 

Calculate Myer's blended index of age heaping 

calculate Noumbissi's digit heaping index 

Evaluate roughness of data in 5year age groups 

Detect if heaping is worse on terminal digits 0s than on 5s 

Spoorenberg's total modified Whipple index 

Calculate Whipple's index of age heaping 

Evaluate consistency of age structuresMethods to assess the consistency of age structures 

Calculate the PAS age ratio score 

Calculate the PAS sex ratio score 

Calculate an agesex accuracy index 

Index of relative difference. 

Index of dissimilarity 

Census survival estimation 

Evaluate patterns of heapingMethods to assess in which ages heaping happens 

Detect if heaping is worse on terminal digits 0s than on 5s 

Evaluate roughness of data in 5year age groups 

GraduationFunctions to graduate demographic counts. Methods include Sprague, Beers ordinary, Beers modified, monotone spline, PCLM and uniform. 

Graduate grouped data 

SmoothingFunctions to smooth demographic counts. Methods include CarrierFarrag, KKN, Arriaga, United Nations, Strong, spencer, Zigzag, Zelnik, MAV. 

Smooth populations in 5year age groups using various methods 

Generic smoother over age or time 

LifetableFunctions to construct a lifetable 

Calculate an abridgedage lifetable. 

calculate a single age lifetable 

calculate a single age lifetable from qx 

calculate an abridged life table that is consistent with a life table by single year of age 

create a life table by single year of age by graduating an abridged life table 

calculate an abridged or single age lifetable from abridged or single age data 

Smooth and apply lt_ambiguous 

InterpolationFunctions to interpolate counts 

Interpolate between two population age distributions. 

Cohort component intercensal interpolation 

ExtrapolationFunctions to interpolate/extrapolate rates or counts 

LeeCarter method with limited data. 

Extrapolate oldage human mortality curve using mortality laws 

Redistribute population over a specified age based on a stable standard fit to the data 

MigrationFunctions for migration models or estimation 

Estimate intercensal migration by comparing census population, by age and sex, to the results of a RUP projection. 

Calculate RogersCastro migration age schedule 

Estimate RogersCastro migration age schedule 


Estimate net migration using residual methods: stock change, time even flow and cohort even flow 
Net migration by age for an UN family 

Proportion of net migrants by age and sex for considered migration profiles 

Parameters for considered migration profiles 

Miscelaneous data operations 

Group single ages into equal age groups of arbitrary width 

rescale counts in age groups to match counts in different age groups 

Internal graduation 

The ordinary modified Beers splitting methods 

Create the Beers ordinary or modified coefficient matrix 

Adjust ages under 10 using a modification of Beers 

The basic Grabill agesplitting method 

Create the Grabill coefficient matrix. 

Graduate age groups using a monotonic spline. 

blend the Sprague upper boundary age estimates into monotonic spline estimates 

wrapper for 

The basic Sprague agesplitting method. 

Create the Sprague coefficient matrix. 

Convert arbitrary age groupings into single years of age. 

An oscillatory average of age splits. 

Internal smoothing 

Smooth populations in 5year age groups using various methods 

E. Arriaga's method of population count smoothing 

The CarrierFarrag method of population count smoothing 

Feeney'S formula on 9 years to correct for heaping on multiples of 5. 

KarupKingNewton method of population count smoothing 

Smooth in 5year age groups using a moving average 

A strong method of population count smoothing 

The old United Nations method of population count smoothing 

G. Feeney's method of smoothing counts in 5year age groups. 

G. Feeney's method of removing the zigzag from counts in 5year age groups. 

Objective function to minimize Feeney's zigzag method residual 

Smooth population counts using Feeney's zigzag method and smoothing parameters. 

Generic smoother over age or time 

Wrapper to LOESS using demographic data. 

Fit a polynomial to demographic data 

Smoothing of an age structure by single years using Spencer's formula. 

Zelnik 11term moving average to adjust for digit preference. 

Auxiliary lifetable functions 

Life expectancy in the open age group. 

PAS a(x) rule of thumb. 

UN a(x) estimates from either M(x), q(x), or both 

Calculate an abridgedage lifetable. 

create a life table by single year of age by graduating an abridged life table 

calculate an abridged or single age lifetable from abridged or single age data 

Derive lifetable total person years left to live from exposure. 

Calculate survivor ratios 

Derive survivorship from lifetable deaths 

Derive death probabilities from lifetable deaths 

Derive lifetable deaths from survivorship. 

Derive lifetable death probabilities from survivorship. 

Derive lifetable exposure from lx, ndx and nax. 

Calculate conditional death probabilities from nMx and nax 

wrapper to invoke PAS or UN ax methods given qx or mx 

UN version of the Greville formula for a(x) from M(x) 

Derive lifetable survivorship (lx) from death probabilities. 

Derive nMx from nqx and nax. 

Derive nax from nqx and nMx. 

Estimate Wilmoth Model Life Table 

calculate a0 in different ways 

AndreevKingkade approximation for a0 

CoaleDemeny a(0) as function of m(0), region, and sex. 

CoaleDemeny 4a1 as function of M(0), region, and sex. 

rule of thumb for splitting infants from deaths under 5 

rule of thumb for estimating infant mortality rate from under 5 mortality 

estimates a0 using the AndreevKingkade rule of thumb starting with an event exposure rate 

estimates a0 using the AndreevKingkade rule of thumb starting with IMR 

Extrapolate oldage human mortality curve using mortality laws 

calculate an abridged life table that is consistent with a life table by single year of age 

calculate a single age lifetable 

calculate a single age lifetable from qx 

Smooth and apply lt_ambiguous 

Convert single age groups to fiveyear group abridged 

Auxiliary checking functions 

Detect if a vector of lower age bounds is plausibly of abridged ages. 

check for coherence within Age and between Age and AgeInt 

check for redundant age specification 

is 

Logical checking of whether age classes appear single. 

Datasets 

Indian male population 1971 

Male population by 1 year age groups 

Russian census 2002 male population by 1 year age groups 

Russian census 2010 male population by 1 year age groups 

Matrix of population over 5 years 

Male population by 5 year age groups 

Abridged population from PAS AGEINT  earlier 

Abridged population from PAS AGEINT  later 

Population matrix for females five year age groups between 1950 and 2050 

Population matrix for females single ages between 1999 and 2019 

Population matrix for males five year age groups between 1950 and 2050 

Population matrix for males single ages between 1999 and 2019 

Auxiliary population structure functions 

BPA and BPE methods for adjusting age groups under 10 

Calculate which large age group single ages belong to. 

shift census populations to match single year cohorts 

Convert date to decimal year fraction. 

Deaths by 5 year age groups 

LogQuad model for BOTH SEX fitted for all HMD life tables 

LogQuad model for FEMALES fitted for all HMD life tables 

LogQuad model for MALES fitted for all HMD life tables 

InternalInternal functions 

creates stable standard based on optimizing the growth rate 

Warps a given stationary population into a stable population 

calculates residual for optimizing growth rate r for OPAG family 

redistribute an open age group count over higher ages proportional to an arbitrary standard 

Extract SRB estimates from WPP2019 

Extract Lx estimates from WPP2019. Mainly an util function for other ones. 

Mean absolute difference in survival rates. 

repeat age lower bounds once for each single age 

Infer age class intervals from lower age bounds. 

Trim two age vectors to matching Nyear age groups. 

Calculate Das Gupta's (1995) age sex accuracy index 

force a (count) vector to abridged ages 

calculate average of vector elements adjacent to and excluding the index element 

Create the historical birth cohorts for a census. 

Calculate which abridged age group single ages belong to. 

Wrapper to provide a single location to reference all model life tables. 

Group single ages into equal age groups of arbitrary width 

Group down to a new open age class. 

Induce heaping on terminal digits 0 and 5 

Infer abridged age groups widths. 

Infer lower age bounds from age class intervals. 

repeat age lower bounds once for each single age 

Interpolate between two population age distributions. 

A simple centered moving average function. 

Calculate the moving average (mav) over 3 or 5 years. 

Determine abridged ages up to a given maximum age group. 

detect ages from names of vector(s) 

Take consecutive ratios of a vector. 

Rescale a vector proportionally to a new sum. 

Mean absolute difference in ageratios of survival rates. 

Logging that does not cause jams. 

Shift a vector left or right. 

convert strings to concatenation of lower case alphabet 

Estimate survival curve from censuses spaced 10 years apart. 

Estimate survival curve from censuses spaced 5 years apart. 

Estimate survival curve from censuses spaced N years apart. 