Learn R Programming

popdemo (version 0.1-2)

inertia: Calculate population inertia

Description

Calculate population inertia for a specified population projection matrix (PPM) model.

Usage

inertia(A, vector = "n", bound=NULL, return.N = FALSE, t=NULL)

Arguments

A
a square, primitive, non-negative numeric matrix of any dimension
vector
(optional) a specified initial age/stage distribution of class vector or class matrix with which to calculate a case-specific inertia
bound
(optional) specifies whether an upper or lower bound should be calculated (see details).
return.N
(optional) if TRUE, returns population size for specified t (including effects of asymptotic growth and initial population size), alongside standardised inertia.
t
(optional) the projection interval at which N is to be calculated. Calculation of N is only accurate for t where the model has converged.

Value

  • If vector="n", the upper bound on inertia of A if bound="upper" and the lower bound on inertia of A if bound="lower". If vector is specified, the case-specific inertia of the model. If return.N=TRUE and t is specified, a list with components:
  • inertiathe bound on or case-specific inertia
  • Nthe population size at specified t.

Details

inertia returns a standardised measure of population inertia (Koons et al. 2007), so discounting the effects of both initial population size and asymoptotic growth (Stott et al. 2011). If vector="n" then either bound="upper" or bound="lower" must be specified, so calculating the upper or lower bound on population inertia respectively (i.e. the largest and smallest values that inertia may take). Specifying vector overrides calculation of a bound, and will yield a case-specific value for inertia. inertia will not work with imprimitive or reducible matrices.

References

Koons et al. (2007) Ecology, 88, 2867-2867. Stott et al. (2011) Ecol. Lett., 14, 959-970.

See Also

Other indices of transient density: reactivity, firststepatt, maxamp, maxatt Transfer function methods: inertia.tfa, inertia.tfamatrix Sensitivity methods: inertia.tfsens, inertia.tfsensmatrix

Examples

Run this code
# Create a 3x3 PPM
    A <- matrix(c(0,1,2,0.5,0.1,0,0,0.6,0.6), byrow=TRUE, ncol=3)
    A

    # Create an initial stage structure
    initial <- c(1,3,2)
    initial

    # Calculate the upper bound on inertia of A
    inertia(A,bound="upper")

    # Calculate the lower bound on inertia of A
    inertia(A,bound="lower")

    # Calculate case-specific inertia of A and initial
    inertia(A, vector=initial)

    # Calculate case-specific inertia of A and initial and 
    # return realised population size at t=25
    inertia(A, vector=initial, return.N=TRUE, t=25)

Run the code above in your browser using DataLab