Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## -----------------------------------------------------------------------------
library(Rage)
## -----------------------------------------------------------------------------
## survival probabilities
s1 <- 0.20 # seed
s2 <- 0.40 # small
s3 <- 0.50 # large
s4 <- 0.30 # dormant
## matU vital rates conditional on survival (growth, shrinkage, stasis, etc.)
g12 <- 0.15 # seed to small (growth)
g13 <- 0.05 # seed to large (growth)
g11 <- 1 - g12 - g13 # seed to seed (stasis)
g23 <- 0.45 # small to large (growth)
g24 <- 0.10 # small to dormant (enter dormancy)
g22 <- 1 - g23 - g24 # small to small (stasis)
g34 <- 0.22 # large to dormant (enter dormancy)
g33 <- 1 - g34 # large to large (stasis)
g43 <- 0.50 # dormant to large (exit dormancy)
g44 <- 1 - g43 # dormant to dormant (stasis)
## matF vital rates conditional on survival (i.e. fecundity)
f2 <- 0.4 # small
f3 <- 1.1 # large
## -----------------------------------------------------------------------------
# growth/survival component
matU <- rbind(
c(s1 * g11, 0, 0, 0),
c(s1 * g12, s2 * g22, 0, 0),
c(s1 * g13, s2 * g23, s3 * g33, s4 * g43),
c(0, s2 * g24, s3 * g34, s4 * g44)
)
# sexual reproduction component
matF <- rbind(
c(0, s2 * f2, s3 * f3, 0),
c(0, 0, 0, 0),
c(0, 0, 0, 0),
c(0, 0, 0, 0)
)
## -----------------------------------------------------------------------------
(surv <- vr_vec_survival(matU))
# equivalent to...
(surv <- colSums(matU))
## -----------------------------------------------------------------------------
# matU vital rates conditional on survival
vr_mat_U(matU)
# matF vital rates conditional on survival
vr_mat_R(matU, matF)
## -----------------------------------------------------------------------------
vr_vec_growth(matU)
## -----------------------------------------------------------------------------
vr_vec_growth(matU, exclude_row = 4)
## -----------------------------------------------------------------------------
vr_vec_shrinkage(matU)
## -----------------------------------------------------------------------------
vr_vec_shrinkage(matU, exclude_col = 4)
## -----------------------------------------------------------------------------
vr_vec_stasis(matU)
## -----------------------------------------------------------------------------
vr_vec_dorm_enter(matU, dorm_stages = 4)
vr_vec_dorm_exit(matU, dorm_stages = 4)
## -----------------------------------------------------------------------------
vr_vec_reproduction(matU, matF)
## -----------------------------------------------------------------------------
vr_growth(matU, exclude_row = 4)
# equivalent to
(vec_growth <- vr_vec_growth(matU, exclude_row = 4))
mean(vec_growth, na.rm = TRUE)
## -----------------------------------------------------------------------------
# calculate the stable distribution using popdemo::eigs
library(popdemo)
matA <- matU + matF
w <- popdemo::eigs(matA, what = "ss")
# calculate mean vital rate of growth weighted by the stable distribution
vr_growth(matU, exclude_row = 4, weights_col = w)
# equivalent to
pos <- !is.na(vec_growth) # possible transitions
sum(vec_growth[pos] * w[pos]) / sum(w[pos]) # weighted average
## -----------------------------------------------------------------------------
vr_vec_shrinkage(matU)
vr_shrinkage(matU)
## -----------------------------------------------------------------------------
(pos <- matU > 0) # possible transitions based on matU
pos[2, 3] <- TRUE # set medium-to-small shrinkage tr to possible
vr_vec_shrinkage(matU, posU = pos)
vr_shrinkage(matU, posU = pos)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.