pop_vectors: Derive a hypothetical set of population vectors corresponding...

View source: R/pop_vectors.R

pop_vectorsR Documentation

Derive a hypothetical set of population vectors corresponding to a time-series of matrix population models

Description

Derive a hypothetical set of population vectors (i.e. population size distributions across stages) given a time-series of matrix population models (MPMs), by taking the stable stage distribution of the mean matrix as the starting vector (or optionally, a uniform or random starting vector), and deriving subsequent vectors through recursive population projection.

Usage

pop_vectors(A, start = "stable.stage")

Arguments

A

A list of MPMs (i.e., square population projection matrices).

start

Method to derive the first population vector in the series. Either stable.stage to use the stable stage distribution of the mean matrix as the starting vector, uniform to use a uniform starting vector (all elements equal), or random to use a randomly-generated starting vector. Defaults to the stable stage distribution.

Details

This function is useful for providing population vectors as input to the perturb_stochastic function which calculates stochastic elasticities given a time-series of matrix population models and corresponding population vectors, using the method described in Haridas et al. (2009).

Value

A list of population vectors

Author(s)

Patrick Barks <patrick.barks@gmail.com>

References

Haridas, C. V., Tuljapurkar, S., & Coulson, T. 2009. Estimating stochastic elasticities directly from longitudinal data. Ecology Letters, 12, 806-812. <doi:10.1111/j.1461-0248.2009.01330.x>

See Also

Other perturbation analysis: perturb_matrix(), perturb_stochastic(), perturb_trans(), perturb_vr()

Examples

# generate list of matrices
matA_l <- replicate(5, matrix(runif(9), 3, 3), simplify = FALSE)

# calculate corresponding population vectors
pop_vectors(matA_l)
pop_vectors(matA_l, start = "uniform")
pop_vectors(matA_l, start = "random")


Rage documentation built on Sept. 30, 2023, 1:06 a.m.