Identify the stages of a matrix population model that correspond to different parts of the reproductive life cycle, namely propagule, pre-reproductive, reproductive and post-reproductive. These classifications are used to standardise matrices to allow comparisons across species with different life cycle structures, see mpm_standardize.

standard_stages(matF, repro_stages, matrix_stages)

Arguments

matF

The sexual component of a matrix population model (i.e., a square projection matrix reflecting transitions only due to sexual reproduction). It assumes that it has been rearranged so that non-reproductive stages are in the final rows/columns.

repro_stages

Logical vector identifying which stages are reproductive.

matrix_stages

(character) vector of stages, values are prop (propagule), active, and dorm (dormant).

Value

A list with four elements:

propStages

Position of the propagule stages

preRepStages

Position of the pre-reproductive stages

repStages

Position of the reproductive stages

postRepStages

Position of the post-reproductive stages

Details

Assumes that fecundity and mean fecundity matrices have been rearranged so that non-reproductive stages are in the final rows/columns. Output indicates groupings to be used when collapsing the matrix model.

Note

Dormant stages are not currently handled.

Author

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

Examples

matU <- rbind(
  c(0.1, 0, 0, 0, 0),
  c(0.5, 0.2, 0.1, 0, 0),
  c(0, 0.3, 0.3, 0.1, 0),
  c(0, 0, 0.4, 0.4, 0.1),
  c(0, 0, 0, 0.1, 0.4)
)

matF <- rbind(
  c(0, 1.1, 0, 1.6, 0),
  c(0, 0.8, 0, 0.4, 0),
  c(0, 0, 0, 0, 0),
  c(0, 0, 0, 0, 0),
  c(0, 0, 0, 0, 0)
)

repro_stages <- c(FALSE, TRUE, FALSE, TRUE, FALSE)
matrix_stages <- c("prop", "active", "active", "active", "active")

r <- mpm_rearrange(matU, matF,
  repro_stages = repro_stages,
  matrix_stages = matrix_stages
)

standard_stages(r$matF, r$repro_stages, r$matrix_stages)
#> $propStages
#> [1] 1
#> 
#> $preRepStages
#> [1] NA
#> 
#> $repStages
#> [1] 2 3
#> 
#> $postRepStages
#> [1] 4 5
#>