mpm_rearrange: Rearrange stages of a matrix population model to segregate...

View source: R/mpm_rearrange.R

mpm_rearrangeR Documentation

Rearrange stages of a matrix population model to segregate reproductive and non-reproductive stages

Description

Rearrange stages of a matrix population model so that all inter-reproductive stages fall in the final rows/columns of the matrix. This is a preparatory step to collapsing the matrix model into a standardized set of stages (e.g., propagule, pre-reproductive, reproductive, and post-reproductive).

Usage

mpm_rearrange(matU, matF, matC = NULL, repro_stages, matrix_stages)

Arguments

matU

The survival component of a matrix population model (i.e., a square projection matrix reflecting survival-related transitions; e.g., progression, stasis, and retrogression)

matF

The sexual component of a matrix population model (i.e., a square projection matrix reflecting transitions due to sexual reproduction)

matC

The clonal component of a matrix population model (i.e., a square projection matrix reflecting transitions due to clonal reproduction). Defaults to NULL, indicating no clonal reproduction (i.e., matC is a matrix of zeros).

repro_stages

Logical vector of length ncol(matU) indicating which stages are reproductive. Alternatively, a vector of stage indices or stage names of the reproductive classes.

matrix_stages

A character vector identifying organized matrix stages.

Value

Returns a list with 6 elements:

matU

Rearranged survival matrix

matF

Rearranged sexual reproduction matrix

matC

Rearranged clonal reproduction matrix

matrix_stages

Rearranged vector of organized matrix stages

repro_stages

Rearranged logical vector of reproductive stages

nonRepInterRep

Numeric index for any rearranged inter-reproductive stages

Author(s)

Rob Salguero-Gómez <rob.salguero@zoo.ox.ac.uk>

See Also

mpm_standardize

Other transformation: is_leslie_matrix(), leslie_collapse(), mpm_collapse(), mpm_split(), mpm_standardize(), name_stages(), repro_stages(), standard_stages()

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(2, 4)
matrix_stages <- c("prop", "active", "active", "active", "active")

mpm_rearrange(matU, matF,
  repro_stages = repro_stages,
  matrix_stages = matrix_stages
)


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