View source: R/matrixcreation.R
rlefko3  R Documentation 
Function rlefko3()
returns raw historical MPMs, including the
associated component transition and fecundity matrices, data frames
describing the ahistorical stages used and the historical paired stages, and
a data frame describing the population, patch, and occasion time associated
with each matrix.
rlefko3(
data,
stageframe,
year = "all",
pop = NULL,
patch = NULL,
censor = FALSE,
stages = NULL,
alive = c("alive3", "alive2", "alive1"),
obsst = NULL,
size = c("sizea3", "sizea2", "sizea1"),
sizeb = NULL,
sizec = NULL,
repst = c("repstatus3", "repstatus2", "repstatus1"),
matst = c("matstatus3", "matstatus2", "matstatus1"),
fec = c("feca3", "feca2", "feca1"),
supplement = NULL,
repmatrix = NULL,
overwrite = NULL,
yearcol = NULL,
popcol = NULL,
patchcol = NULL,
indivcol = NULL,
censorcol = NULL,
censorkeep = 0,
NRasRep = FALSE,
format = "ehrlen",
reduce = FALSE,
simple = FALSE,
err_check = FALSE,
sparse_output = FALSE
)
data 
A vertical demographic data frame, with variables corresponding
to the naming conventions in 
stageframe 
A stageframe object that includes information on the size, observation status, propagule status, reproduction status, immaturity status, and maturity status of each ahistorical stage. 
year 
A variable corresponding to observation occasion, or a set of
such values, given in values associated with the 
pop 
A variable designating which populations will have matrices
estimated. Should be set to specific population names, or to 
patch 
A variable designating which patches or subpopulations will have
matrices estimated. Should be set to specific patch names, or to 
censor 
If 
stages 
An optional vector denoting the names of the variables within
the main vertical dataset coding for the stages of each individual in
occasions t+1, t, and t1. The names of stages in these
variables should match those used in the 
alive 
A vector of names of binomial variables corresponding to status
as alive ( 
obsst 
A vector of names of binomial variables corresponding to
observation status in occasions t+1, t, and t1,
respectively. Defaults to 
size 
A vector of names of variables coding the primary size variable
in occasions t+1, t, and t1, respectively. Defaults to

sizeb 
A vector of names of variables coding the secondary size
variable in occasions t+1, t, and t1, respectively.
Defaults to 
sizec 
A vector of names of variables coding the tertiary size
variable in occasions t+1, t, and t1, respectively.
Defaults to 
repst 
A vector of names of variables coding reproductive status in
occasions t+1, t, and t1, respectively. Defaults to

matst 
A vector of names of variables coding maturity status in
occasions t+1, t, and t1, respectively. Defaults to

fec 
A vector of names of variables coding fecundity in occasions
t+1, t, and t1, respectively. Defaults to

supplement 
An optional data frame of class 
repmatrix 
An optional reproduction matrix. This matrix is composed
mostly of 0s, with nonzero entries acting as element identifiers and
multipliers for fecundity (with 1 equaling full fecundity). If left blank,
and no 
overwrite 
An optional data frame developed with the

yearcol 
The variable name or column number corresponding to occasion t in the dataset. 
popcol 
The variable name or column number corresponding to the identity of the population. 
patchcol 
The variable name or column number corresponding to patch in the dataset. 
indivcol 
The variable name or column number coding individual identity. 
censorcol 
The variable name or column number denoting the censor
status. Only needed if 
censorkeep 
The value of the censor variable denoting data elements to
keep. Defaults to 
NRasRep 
If 
format 
A string indicating whether to estimate matrices in

reduce 
A logical value denoting whether to remove historical stages
associated exclusively with zero transitions. These are removed only if the
respective row and column sums in ALL matrices estimated equal 0. Defaults to

simple 
A logical value indicating whether to produce 
err_check 
A logical value indicating whether to append extra
information used in matrix calculation within the output list. Defaults to

sparse_output 
A logical value indicating whether to output matrices
in sparse format. Defaults to 
If all inputs are properly formatted, then this function will return
an object of class lefkoMat
, which is a list that holds the matrix
projection model and all of its metadata. Its structure is a list with the
following elements:
A 
A list of full projection matrices in order of sorted populations,
patches, and occasions. All matrices output in the 
U 
A list of survival transition matrices sorted as in 
F 
A list of fecundity matrices sorted as in 
hstages 
A data frame matrix showing the pairing of ahistorical stages used to create historical stage pairs. 
agestages 
A data frame showing agestage pairs. In this function, it
is set to NA. Only used in output to function 
ahstages 
A data frame detailing the characteristics of associated ahistorical stages, in the form of a modified stageframe that includes status as an entry stage through reproduction. 
labels 
A data frame giving the population, patch, and year of each matrix in order. 
dataqc 
A vector showing the numbers of individuals and rows in the vertical dataset used as input. 
matrixqc 
A short vector describing the number of nonzero elements in

modelqc 
This is the 
The default behavior of this function is to estimate fecundity with regards
to transitions specified via associated fecundity multipliers in either
supplement
or repmatrix
. If both of these fields are left
empty, then fecundity will be estimated at full for all transitions leading
from reproductive stages to immature and propagule stages. However, if a
supplement
is provided and a repmatrix
is not, or if
repmatrix
is set to 0, then only fecundity transitions noted in the
supplement will be set to nonzero values. To use the default behavior of
setting all reproductive stages to reproduce at full fecundity into immature
and propagule stages but incorporate given or proxy survival transitions,
input those given and proxy transitions through the overwrite
option.
The reproduction matrix (field repmatrix
) may be supplied as either
historical or ahistorical. If provided as ahistorical, then flefko3()
will assume that all historical transitions involving stages noted for
occasions t and t+1 should be set to the respective fecundity
multipliers noted.
Users may at times wish to estimate MPMs using a dataset incorporating
multiple patches or subpopulations. Should the aim of analysis be a general
MPM that does not distinguish these patches or subpopulations, the
patchcol
variable should be left to NA
, which is the default.
Otherwise the variable identifying patch needs to be named.
Input options including multiple variable names must be entered in the order of variables in occasion t+1, t, and t1. Rearranging the order WILL lead to erroneous calculations, and may lead to fatal errors.
Although this function is capable of assigning stages given an input
stageframe, it lacks the power of verticalize3()
and
historicalize3()
in this regard. Users are strongly
encouraged to use the latter two functions for stage assignment.
mpm_create()
flefko3()
flefko2()
aflefko2()
arlefko2()
fleslie()
rlefko2()
rleslie()
# 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")
# 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)
cypsupp3r < supplemental(stage3 = c("SD", "SD", "P1", "P1", "P2", "P3", "SL",
"D", "XSm", "Sm", "D", "XSm", "Sm", "mat", "mat", "mat", "SD", "P1"),
stage2 = c("SD", "SD", "SD", "SD", "P1", "P2", "P3", "SL", "SL", "SL", "SL",
"SL", "SL", "D", "XSm", "Sm", "rep", "rep"),
stage1 = c("SD", "rep", "SD", "rep", "SD", "P1", "P2", "P3", "P3", "P3",
"SL", "SL", "SL", "SL", "SL", "SL", "mat", "mat"),
eststage3 = c(NA, NA, NA, NA, NA, NA, NA, "D", "XSm", "Sm", "D", "XSm", "Sm",
"mat", "mat", "mat", NA, NA),
eststage2 = c(NA, NA, NA, NA, NA, NA, NA, "XSm", "XSm", "XSm", "XSm", "XSm",
"XSm", "D", "XSm", "Sm", NA, NA),
eststage1 = c(NA, NA, NA, NA, NA, NA, NA, "XSm", "XSm", "XSm", "XSm", "XSm",
"XSm", "XSm", "XSm", "XSm", NA, NA),
givenrate = c(0.1, 0.1, 0.2, 0.2, 0.2, 0.2, 0.25, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA),
multiplier = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, 0.5, 0.5),
type = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3),
type_t12 = c(1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
stageframe = cypframe_raw, historical = TRUE)
cypmatrix3r < rlefko3(data = cypraw_v1, stageframe = cypframe_raw,
year = "all", patch = "all", stages = c("stage3", "stage2", "stage1"),
size = c("size3added", "size2added", "size1added"),
supplement = cypsupp3r, yearcol = "year2", patchcol = "patchid",
indivcol = "individ")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.