Calculates a 'shape' value of distribution of reproduction over age by comparing the area under a cumulative reproduction curve (over age) with the area under a cumulative function describing constant reproduction.
shape_rep(rep, surv = NULL, xmin = NULL, xmax = NULL, ...)
Either 1) a numeric vector describing reproduction over age (mx),
2) a data.frame
/ list
with one column / element titled 'mx'
describing a reproduction over age, 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 reproduction
submatrix (e.g. F matrix) of a matrix population model. If rep
is
provided as a matrix, then surv
must be provided as the U submatrix
of the matrix population model.
In case (2), if x is not supplied, the function will assume age classes
starting at 0 with time steps of unit. If x ends at maximum longevity,
mx[which.max(x)]
should equal 0; however it is possible to supply
partial reproduction schedules.
An optional argument to be used if rep is provided as a matrix
(the reproduction submatrix of the matrix population model.) If rep
is provided as a matrix, then surv
should also be provided as a the
U submatrix of the matrix population model.
The minimum and maximum age respectively over which to
evaluate shape. If not given, these default to min(x)
and
max(x)
respectively.
Additional variables passed to `mpm_to_mx` when the data are provided as matrices.
a shape value describing symmetry of reproduction over age by comparing the area under a cumulative reproduction curve over age with the area under constant reproduction. May take any real value between -0.5 and +0.5. A value of 0 indicates negligible ageing (neither generally increasing nor generally decreasing reproduction with age); positive values indicate senescence (generally decreasing reproduction with age); negative values indicate negative senescence (generally increasing reproduction with age). A value of +0.5 indicates that (hypothetically) all individuals are born to individuals of age 0; a value of -0.5 indicates that all individuals are born at the age of maximum longevity.
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>
Other life history traits:
entropy_d()
,
entropy_k_age()
,
entropy_k_stage()
,
entropy_k()
,
gen_time()
,
life_elas()
,
life_expect_mean()
,
longevity()
,
net_repro_rate()
,
repro_maturity
,
shape_surv()
# increasing mx yields negative shape
mx <- c(0, 0, 0.3, 0.4, 0.5, 0.6)
shape_rep(mx)
#> [1] -0.05555556
# decreasing mx yields positive shape
mx <- c(1.1, 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4)
shape_rep(mx)
#> [1] 0.07142857
# constant mx yields shape = 0
mx <- c(0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
shape_rep(mx)
#> [1] 0
# calculate mx trajectory first
mpm_to_mx(matU = mpm1$matU, matR = mpm1$matF)
#> [1] 0.00000 0.00000 9.54125 19.49277 24.83256 26.79977
# providing the matrices directly
data(mpm1)
shape_rep(rep = mpm1$matF, surv = mpm1$matU)
#> [1] -0.0946246