Calculate net reproductive rate (R0) from a matrix population model. The net reproduction rate (R0) is the mean number of recruits produced during the mean life expectancy of an individual. See section 5.3.5 of Caswell (2001).

net_repro_rate(matU, matR, start = 1, method = "generation")

Arguments

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). Optionally with named rows and columns indicating the corresponding life stage names.

matR

The fertility component of a matrix population model.

start

Index (or stage name) of the first stage at which the author considers the beginning of life. Only used if method = "start". Defaults to 1.

method

The method used to calculate net reproductive rate, either "generation" or "start". Defaults to "generation". See Details.

Value

Returns the net reproductive rate. If matU is singular (often indicating infinite life expectancy), returns NA.

Details

The method argument controls how net reproductive rate is calculated.

If method = "generation", net reproductive rate is calculated as the per-generation population growth rate (i.e., the dominant eigenvalue of matR %*% N, where N is the fundamental matrix). See Caswell (2001) Section 5.3.4.

If method = "start", net reproductive rate is calculated as the expected lifetime production of offspring that start life in stage start, by an individual also starting life in stage start (i.e., (matR %*% N)[start,start]).

If offspring only arise in stage start, the two methods give the same result.

References

Caswell, H. 2001. Matrix Population Models: Construction, Analysis, and Interpretation. Sinauer Associates; 2nd edition. ISBN: 978-0878930968

Author

Roberto Salguero-Gomez <rob.salguero@zoo.ox.ac.uk>

Hal Caswell <h.caswell@uva.nl>

Examples

data(mpm1)

net_repro_rate(mpm1$matU, mpm1$matF)
#> [1] 1.852091

# calculate R0 using the start method, specifying either the life stage index
# or name
net_repro_rate(mpm1$matU, mpm1$matF, method = "start", start = 2)
#> [1] 0
net_repro_rate(mpm1$matU, mpm1$matF, method = "start", start = "small")
#> [1] 0