elasticity3.list | R Documentation |
elasticity3.list()
returns the elasticities of lambda to elements
of a single matrix. This function can handle large and sparse matrices, and
so can be used with large historical matrices, IPMs, age x stage matrices,
as well as smaller ahistorical matrices.
## S3 method for class 'list' elasticity3( mats, stochastic = FALSE, steps = 10000, time_weights = NA, historical = FALSE, sparse = "auto", append_mats = FALSE, ... )
mats |
A list of objects of class |
stochastic |
A logical value determining whether to conduct a deterministic (FALSE) or stochastic (TRUE) elasticity analysis. Defaults to FALSE. |
steps |
The number of occasions to project forward in stochastic simulation. Defaults to 10,000. |
time_weights |
Numeric vector denoting the probabilistic weightings of annual matrices. Defaults to equal weighting among occasions. |
historical |
A logical value denoting whether the input matrices are historical. Defaults to FALSE. |
sparse |
A text string indicating whether to use sparse matrix encoding
( |
append_mats |
A logical value indicating whether to include the original
matrices input as object |
... |
Other parameters. |
This function returns an object of class lefkoElas
, which is a
list with 8 elements. The first, h_elasmats
, is a list of historical
elasticity matrices, though in the standard list case it returns a NULL
value. The second, ah_elasmats
, is a list of ahistorical elasticity
matrices. The third element, h_stages
, the fourth element,
agestages
, and the fifth element, ah_stages
, are set to NULL.
The last 3 elements are the original A matrices in element A, followed by
NULL values for the U and F elements.
Deterministic elasticities are estimated as eqn. 9.72 in Caswell (2001, Matrix Population Models). Stochastic elasticities are estimated as eqn. 14.99 in Caswell (2001). Note that stochastic elasticities are of stochastic λ, while stochastic sensitivities are with regard to the log of the stochastic λ.
elasticity3()
elasticity3.lefkoMat()
elasticity3.matrix()
# Lathyrus example data(lathyrus) sizevector <- c(0, 100, 13, 127, 3730, 3800, 0) stagevector <- c("Sd", "Sdl", "VSm", "Sm", "VLa", "Flo", "Dorm") repvector <- c(0, 0, 0, 0, 0, 1, 0) obsvector <- c(0, 1, 1, 1, 1, 1, 0) matvector <- c(0, 0, 1, 1, 1, 1, 1) immvector <- c(1, 1, 0, 0, 0, 0, 0) propvector <- c(1, 0, 0, 0, 0, 0, 0) indataset <- c(0, 1, 1, 1, 1, 1, 1) binvec <- c(0, 100, 11, 103, 3500, 3800, 0.5) lathframe <- sf_create(sizes = sizevector, stagenames = stagevector, repstatus = repvector, obsstatus = obsvector, matstatus = matvector, immstatus = immvector, indataset = indataset, binhalfwidth = binvec, propstatus = propvector) lathvert <- verticalize3(lathyrus, noyears = 4, firstyear = 1988, patchidcol = "SUBPLOT", individcol = "GENET", blocksize = 9, juvcol = "Seedling1988", sizeacol = "Volume88", repstracol = "FCODE88", fecacol = "Intactseed88", deadacol = "Dead1988", nonobsacol = "Dormant1988", stageassign = lathframe, stagesize = "sizea", censorcol = "Missing1988", censorkeep = NA, censor = TRUE) lathsupp3 <- supplemental(stage3 = c("Sd", "Sd", "Sdl", "Sdl", "Sd", "Sdl", "mat"), stage2 = c("Sd", "Sd", "Sd", "Sd", "rep", "rep", "Sdl"), stage1 = c("Sd", "rep", "Sd", "rep", "npr", "npr", "Sd"), eststage3 = c(NA, NA, NA, NA, NA, NA, "mat"), eststage2 = c(NA, NA, NA, NA, NA, NA, "Sdl"), eststage1 = c(NA, NA, NA, NA, NA, NA, "NotAlive"), givenrate = c(0.345, 0.345, 0.054, 0.054, NA, NA, NA), multiplier = c(NA, NA, NA, NA, 0.345, 0.054, NA), type = c(1, 1, 1, 1, 3, 3, 1), type_t12 = c(1, 2, 1, 2, 1, 1, 1), stageframe = lathframe, historical = TRUE) ehrlen3 <- rlefko3(data = lathvert, stageframe = lathframe, year = "all", stages = c("stage3", "stage2", "stage1"), supplement = lathsupp3, yearcol = "year2", indivcol = "individ") elasticity3(ehrlen3$A, stochastic = TRUE) # Cypripedium example data(cypdata) sizevector <- c(0, 0, 0, 0, 0, 0, 1, 2.5, 4.5, 8, 17.5) stagevector <- c("SD", "P1", "P2", "P3", "SL", "D", "XSm", "Sm", "Md", "Lg", "XLg") repvector <- c(0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1) obsvector <- c(0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1) matvector <- c(0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1) immvector <- c(0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0) propvector <- c(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) indataset <- c(0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1) binvec <- c(0, 0, 0, 0, 0, 0.5, 0.5, 1, 1, 2.5, 7) cypframe_raw <- sf_create(sizes = sizevector, stagenames = stagevector, repstatus = repvector, obsstatus = obsvector, matstatus = matvector, propstatus = propvector, immstatus = immvector, indataset = indataset, binhalfwidth = binvec) cypraw_v1 <- verticalize3(data = cypdata, noyears = 6, firstyear = 2004, patchidcol = "patch", individcol = "plantid", blocksize = 4, sizeacol = "Inf2.04", sizebcol = "Inf.04", sizeccol = "Veg.04", repstracol = "Inf.04", repstrbcol = "Inf2.04", fecacol = "Pod.04", stageassign = cypframe_raw, stagesize = "sizeadded", NAas0 = TRUE, NRasRep = TRUE) cypsupp2r <- supplemental(stage3 = c("SD", "P1", "P2", "P3", "SL", "D", "XSm", "Sm", "SD", "P1"), stage2 = c("SD", "SD", "P1", "P2", "P3", "SL", "SL", "SL", "rep", "rep"), eststage3 = c(NA, NA, NA, NA, NA, "D", "XSm", "Sm", NA, NA), eststage2 = c(NA, NA, NA, NA, NA, "XSm", "XSm", "XSm", NA, NA), givenrate = c(0.10, 0.20, 0.20, 0.20, 0.25, NA, NA, NA, NA, NA), multiplier = c(NA, NA, NA, NA, NA, NA, NA, NA, 0.5, 0.5), type =c(1, 1, 1, 1, 1, 1, 1, 1, 3, 3), stageframe = cypframe_raw, historical = FALSE) cypmatrix2r <- rlefko2(data = cypraw_v1, stageframe = cypframe_raw, year = "all", patch = "all", stages = c("stage3", "stage2", "stage1"), size = c("size3added", "size2added"), supplement = cypsupp2r, yearcol = "year2", patchcol = "patchid", indivcol = "individ") elasticity3(cypmatrix2r$A)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.