R/mpm_standardize.R
mpm_standardize.Rd
Transform a matrix population model to a standardized set of stage classes (e.g., propagule, pre-reproductive, reproductive, and post-reproductive). The transition rates in the standardized matrix are a weighted mean of the transition rates and per-capita reproductive values from the relevant stages of the original matrix, weighted by the relative proportion of each stage class expected at the stable distribution.
mpm_standardize(matU, matF, matC = NULL, repro_stages, matrix_stages)
mpm_standardise(matU, matF, matC = NULL, repro_stages, matrix_stages)
The survival component of a matrix population model (i.e., a square projection matrix reflecting survival-related transitions; e.g. progression, stasis, and retrogression).
The sexual component of a matrix population model (i.e., a square projection matrix reflecting transitions due to sexual reproduction).
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).
Logical vector of length ncol(matU)
indicating
which stages are reproductive. Alternatively, a vector of stage indices or
stage names of the reproductive classes.
Character vector of matrix stage types (e.g., "propagule", "active", or "dormant").
A list with four elements reflecting the standardized matrix and its components:
Standardized projection matrix
Survival component of the standardized projection matrix
Sexual reproduction component of the standardized projection matrix
Clonal reproduction component of the standardized projection matrix
This function is a wrapper for the functions
mpm_rearrange
, standard_stages
and
mpm_collapse
, which it calls in sequence.
The method used by this function to collapse a matrix population model preserves the equilibrium population growth rate (\(\lambda\)) and relative stable distribution, but is not expected to preserve other demographic characteristics such as relative reproductive value, sensitivities, net reproductive rate, life expectancy, etc.
The returned standardized matrix will always be of dimension 4
, even
if one or more standardized stages is missing from the original matrix
population model. If a standardized stage is missing, the corresponding
row/column of the standardized matrix will be coerced to NA
.
Other transformation:
is_leslie_matrix()
,
leslie_collapse()
,
mpm_collapse()
,
mpm_rearrange()
,
mpm_split()
,
name_stages()
,
repro_stages()
,
standard_stages()
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)
)
matC <- rbind(
c(0, 0.6, 0, 0.5, 0),
c(0, 0.1, 0, 0.3, 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_standardize(matU, matF, matC, repro_stages, matrix_stages)
#> $matA
#> propStages preRepStages repStages postRepStages
#> propStages 0.1 NA 1.39996142 1.953150
#> preRepStages NA NA NA NA
#> repStages 0.5 NA 1.22350672 0.744057
#> postRepStages 0.0 NA 0.07059731 0.500000
#>
#> $matU
#> propStages preRepStages repStages postRepStages
#> propStages 0.1 NA 0.00000000 0.00000000
#> preRepStages NA NA NA NA
#> repStages 0.5 NA 0.48235067 0.09300712
#> postRepStages 0.0 NA 0.07059731 0.50000000
#>
#> $matF
#> propStages preRepStages repStages postRepStages
#> propStages 0 NA 0.9058574 1.4881140
#> preRepStages NA NA NA NA
#> repStages 0 NA 0.6588054 0.3720285
#> postRepStages 0 NA 0.0000000 0.0000000
#>
#> $matC
#> propStages preRepStages repStages postRepStages
#> propStages 0 NA 0.49410403 0.4650356
#> preRepStages NA NA NA NA
#> repStages 0 NA 0.08235067 0.2790214
#> postRepStages 0 NA 0.00000000 0.0000000
#>