Calculates a 'shape' value of survival lifespan inequality by comparing the area under a survival curve (over age) with the area under a constant survival function.

shape_surv(surv, xmin = NULL, xmax = NULL, trunc = FALSE, ...)

Arguments

surv

Either 1) a numeric vector describing a survival curve (lx), 2) a data.frame / list with one column / element titled 'lx' describing a survival curve, optionally a column / element 'x' containing age classes (each element a number representing the age at the start of the class), or 3), a matrix, specifically the U submatrix of a matrix population model (A).

In case (2) If x is not supplied, the function will assume age classes starting at 0 with time steps of 1 unit of the ProjectionInterval. If x begins at 0 then lx[1] should equal 1. If x ends at maximum longevity, then lx[which.max(x)] should equal 0; however it is possible to supply partial survivorship curves.

xmin, xmax

The minimum and maximum age respectively over which to evaluate shape. If not given, these default to min(x) and max(x) respectively.

trunc

logical determining whether to truncate life tables or not when any lx == 0. Usually this is the case only for the final value of lx. As the function calculates log(lx), these value(s) cannot be handled. trunc == TRUE strips out the zero value(s). An alternative to this is to transform the zeroes to something approximating zero (e.g., 1e-7).

...

Additional variables passed to `mpm_to_lx`, if data are supplied as a matrix.

Value

a shape value describing lifespan inequality by comparing the area under a survival (lx) curve over age with the area under a constant (Type II) survival function. The shape value may take any real value between -0.5 and +0.5. A value of 0 indicates negligible ageing (neither generally increasing nor generally decreasing survival with age); negative values indicate negative senescence (generally increasing survival with age); positive values indicate senescence (generally decreasing survival with age). A value of +0.5 indicates that all individuals die at age of maximum longevity; a value of -0.5 indicates that (hypothetically) all individuals die at birth.

References

Wrycza, T.F. and Baudisch, A., 2014. The pace of aging: Intrinsic time scales in demography. Demographic Research, 30, pp.1571-1590. <doi:10.4054/DemRes.2014.30.57>

Baudisch, A. 2011, The pace and shape of ageing. Methods in Ecology and Evolution, 2: 375-382. <doi:10.1111/j.2041-210X.2010.00087.x>

Baudisch, A, Stott, I. 2019. A pace and shape perspective on fertility. Methods Ecol Evol. 10: 1941– 1951. <doi:10.1111/2041-210X.13289>

Author

Iain Stott <iainmstott@gmail.com>

Examples

# exponential decline in lx yields shape = 0
lx <- 0.7^(0:20)
shape_surv(lx)
#> [1] 0

data(mpm1)
shape_surv(mpm1$matU)
#> [1] -0.1622877

lx <- mpm_to_lx(mpm1$matU, start = 1)
shape_surv(lx)
#> [1] -0.1622877