| gen_time | R Documentation |
Calculate generation time from a matrix population model. Multiple definitions of the generation time are supported: the time required for a population to increase by a factor of R0 (the net reproductive rate; Caswell (2001), section 5.3.5), the average parent-offspring age difference (Bienvenu & Legendre (2015)), or the expected age at reproduction for a cohort (Coale (1972), p. 18-19).
gen_time(
matU,
matR = NULL,
matF = NULL,
matC = NULL,
method = c("R0", "age_diff", "cohort"),
...
)
matU |
The survival component of a matrix population model (i.e., a square projection matrix reflecting survival-related transitions; e.g., progression, stasis, and retrogression). |
matR |
The reproductive component of a matrix population model (i.e., a
square projection matrix only reflecting transitions due to reproduction;
either sexual, clonal, or both). If |
matF |
The matrix reflecting sexual reproduction. If provided
without |
matC |
The matrix reflecting clonal (asexual) reproduction.
If provided without |
method |
The method used to calculate generation time. Defaults to "R0". See Details for explanation of calculations. |
... |
Additional arguments passed to |
There are multiple definitions of generation time, three of which are implemented by this function:
1. "R0" (default): This is the number of time steps required for the
population to grow by a factor of its net reproductive rate, equal to
log(R0) / log(lambda). Here, R0 is the net reproductive rate
(the per-generation population growth rate; Caswell 2001, Sec. 5.3.4), and
lambda is the population growth rate per unit time (the dominant
eigenvalue of matU + matR).
2. "age_diff": This is the average age difference between parents and
offspring, equal to (lambda v w) / (v matR w) (Bienvenu & Legendre
(2015)). Here, lambda is the population growth rate per unit time (the
dominant eigenvalue of matU + matR), v is a row vector of
stage-specific reproductive values (the left eigenvector corresponding to
lambda), and w is a column vector of the stable stage
distribution (the right eigenvector corresponding to lambda).
3. "cohort": This is the age at which members of a cohort are expected
to reproduce, equal to sum(x lx mx) / sum(lx mx) (Coale (1972), p.
18-19). Here, x is age, lx is age-specific survivorship, and
mx is age-specific fertility. See functions mpm_to_lx and
mpm_to_mx for details about the conversion of matrix population models
to life tables.
Returns generation time. If matU is singular (often indicating
infinite life expectancy), returns NA.
Note that the units of time in returned values are the same as the projection interval ('ProjectionInterval') of the MPM.
Patrick Barks <patrick.barks@gmail.com>
William Petry <wpetry@ncsu.edu>
Bienvenu, F. & Legendre, S. 2015. A New Approach to the Generation Time in Matrix Population Models. The American Naturalist 185 (6): 834–843. <doi:10.1086/681104>.
Caswell, H. 2001. Matrix Population Models: Construction, Analysis, and Interpretation. Sinauer Associates; 2nd edition. ISBN: 978-0878930968
Coale, A.J. 1972. The Growth and Structure of Human Populations. Princeton University Press. ISBN: 978-0691093574
Other life history traits:
entropy_d(),
entropy_k(),
entropy_k_age(),
entropy_k_stage(),
life_elas(),
life_expect_mean(),
longevity(),
net_repro_rate(),
repro_maturity,
shape_rep(),
shape_surv()
data(mpm1)
# calculate generation time
gen_time(matU = mpm1$matU, matR = mpm1$matF) # defaults to "R0" method
gen_time(matU = mpm1$matU, matF = mpm1$matF) # defaults to "R0" method
gen_time(matU = mpm1$matU, matR = mpm1$matF, method = "age_diff")
gen_time(
matU = mpm1$matU, matR = mpm1$matF, method = "cohort", lx_crit =
0.001
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.