inertia: Calculate population inertia

Description Usage Arguments Details Value References See Also Examples

View source: R/inertia.R

Description

Calculate population inertia for a population matrix projection model.

Usage

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

Arguments

A

a square, primitive, irreducible, non-negative numeric matrix of any dimension

vector

(optional) a numeric vector or one-column matrix describing the age/stage distribution ('demographic structure') used to calculate a 'case-specific' maximal amplification

bound

(optional) specifies whether an upper or lower bound should be calculated (see details).

return.N

(optional) if TRUE, returns population size for a 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 (see details)

Details

A nonstable population, when it achieves asymptotic growth following transient dynamics, is a fixed ratio of the size of a population projected with the same initial size but stable structure. inertia calculates the value of this ratio (Koons et al. 2007)

If vector="n" then either bound="upper" or bound="lower" must be specified, which calculate the upper or lower bound on population inertia (i.e. the largest and smallest values that inertia may take) respectively. 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.

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:

inertia

the bound on or case-specific inertia

N

the population size at specified t.

References

See Also

Transfer function methods for inertia: inertia.tfa, inertia.tfamatrix, inertia.tfsens, inertia.tfsensmatrix

Other TransientIndices: Kreiss(), maxamp(), maxatt(), reac()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
  # Create a 3x3 PPM
  ( A <- matrix(c(0,1,2,0.5,0.1,0,0,0.6,0.6), byrow=TRUE, ncol=3) )

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

  # 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)

popdemo documentation built on Nov. 16, 2021, 5:06 p.m.