Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

perturb_matrix

Perturbation analysis of a matrix population model


Description

Perturbs elements within a matrix population model and measures the response (sensitivity or elasticity) of the per-capita population growth rate at equilibrium (λ), or, with a user-supplied function, any other demographic statistic.

Usage

perturb_matrix(
  matA,
  pert = 1e-06,
  type = "sensitivity",
  demog_stat = "lambda",
  ...
)

Arguments

matA

A matrix population model (i.e. a square projection matrix).

pert

Magnitude of the perturbation. Defaults to 1e-6.

type

Whether to return "sensitivity" or "elasticity" values.

demog_stat

The demographic statistic to be used, as in "the sensitivity/elasticity of demog_stat to matrix element perturbations." Defaults to the per-capita population growth rate at equilibrium (λ). Also accepts a user-supplied function that performs a calculation on a projection matrix and returns a single numeric value.

...

Additional arguments passed to the function demog_stat

Value

A sensitivity or elasticity matrix.

Author(s)

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

References

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

See Also

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

Examples

matA <- rbind(c(0.1,   0, 1.5, 4.6),
              c(0.5, 0.2, 0.1,   0),
              c(  0, 0.3, 0.3, 0.1),
              c(  0,   0, 0.5, 0.6))

perturb_matrix(matA)

# use a larger perturbation than the default
perturb_matrix(matA, pert = 0.01)

# calculate the sensitivity/elasticity of the damping ratio to perturbations
damping <- function(matA) {  # define function for damping ratio
  eig <- eigen(matA)$values
  dm <- rle(Mod(eig))$values
  return(dm[1] / dm[2])
}

perturb_matrix(matA, demog_stat = "damping")

Rage

Life History Metrics from Matrix Population Models

v1.0.0
GPL-3
Authors
Patrick Barks [aut] (<https://orcid.org/0000-0002-5947-8151>), Danny Buss [ctb], Pol Capdevila [aut] (<https://orcid.org/0000-0002-2842-4302>), Hal Caswell [aut] (<https://orcid.org/0000-0003-4394-6894>), Judy P. Che-Castaldo [aut] (<https://orcid.org/0000-0002-9118-9202>), John Jackson [aut] (<https://orcid.org/0000-0002-4563-2840>), Tamora James [aut] (<https://orcid.org/0000-0003-1363-4742>), Owen Jones [aut, cre] (<https://orcid.org/0000-0001-5720-4686>), Sam Levin [aut] (<https://orcid.org/0000-0002-3289-9925>), William K. Petry [aut] (<https://orcid.org/0000-0002-5230-5987>), Roberto Salguero-Gomez [aut] (<https://orcid.org/0000-0002-6085-4433>), Caroline Schuette [ctb] (<https://orcid.org/0000-0002-2063-8736>), Iain Stott [aut] (<https://orcid.org/0000-0003-2724-7436>), Chelsea C. Thomas [aut] (<https://orcid.org/0000-0002-8155-9353>)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.