Description Usage Arguments Value Notes Examples
verticalize3()
returns a vertically formatted demographic data frame
organized to create historical projection matrices, given a horizontally
formatted input data frame.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41  verticalize3(
data,
noyears,
firstyear = 1,
popidcol = 0,
patchidcol = 0,
individcol = 0,
blocksize = NA,
xcol = 0,
ycol = 0,
juvcol = 0,
sizeacol,
sizebcol = 0,
sizeccol = 0,
repstracol = 0,
repstrbcol = 0,
fecacol = 0,
fecbcol = 0,
indcovacol = 0,
indcovbcol = 0,
indcovccol = 0,
aliveacol = 0,
deadacol = 0,
obsacol = 0,
nonobsacol = 0,
censorcol = 0,
repstrrel = 1,
fecrel = 1,
stagecol = 0,
stageassign = NA,
stagesize = NA,
censorkeep = 0,
censorRepeat = TRUE,
censor = FALSE,
coordsRepeat = FALSE,
spacing = NA,
NAas0 = FALSE,
NRasRep = FALSE,
reduce = TRUE,
a2check = FALSE
)

data 
The horizontal data file. A valid data frame is required as input. 
noyears 
The number of years or observation periods in the dataset. A valid integer is required as input. 
firstyear 
The first year or time of observation. Defaults to 1. 
popidcol 
A variable name or column number corresponding to the identity of the population for each individual. 
patchidcol 
A variable name or column number corresponding to the identity of the patch for each individual, if patches have been designated within populations. 
individcol 
A variable name or column number corresponding to the identity of each individual. 
blocksize 
The number of variables corresponding to each time in the
input dataset designated in 
xcol 
A variable name(s) or column number(s) corresponding to the x coordinate of each individual, or each individualtime combination, in Cartesian space. Can refer to the only instance, the first instance, or all instances of x variables. In the last case, the values should be entered as a vector. 
ycol 
A variable name(s) or column number(s) corresponding to the y coordinate of each individual, or each individualtime combination, in Cartesian space. Can refer to the only instance, the first instance, or all instances of y variables. In the last case, the values should be entered as a vector. 
juvcol 
A variable name(s) or column number(s) that marks individuals
in immature stages within the dataset. The 
sizeacol 
A variable name(s) or column number(s) corresponding to the size entry associated with the first year or observation time in the dataset. Can refer to the first instance, or all instances of these variables. In the latter case, the values should be entered as a vector. 
sizebcol 
A second variable name(s) or column number(s) corresponding tp the size entry associated with the first year or observation time in the dataset. Can refer to the first instance, or all instances of these variables. In the latter case, the values should be entered as a vector. 
sizeccol 
A third variable name(s) or column number(s) corresponding to the size entry associated with the first year or observation time in the dataset. Can refer to the first instance, or all instances of these variables. In the latter case, the values should be entered as a vector. 
repstracol 
A variable name(s) or column number(s) corresponding to the production of reproductive structures, such as flowers, associated with the first year or observation period in the input dataset. This can be binomial or count data, and is used to in analysis of the probability of reproduction. Can refer to the first instance, or all instances of these variables. In the latter case, the values should be entered as a vector. 
repstrbcol 
A second variable name(s) or column number(s) corresponding to the production of reproductive structures, such as flowers, associated with the first year or observation period in the input dataset. This can be binomial or count data, and is used to in analysis of the probability of reproduction. Can refer to the first instance, or all instances of these variables. In the latter case, the values should be entered as a vector. 
fecacol 
A variable name(s) or column number(s) denoting fecundity associated with the first year or observation time in the input dataset. This may represent egg counts, fruit counts, seed production, etc. Can refer to the first instance, or all instances of these variables. In the latter case, the values should be entered as a vector. 
fecbcol 
A second variable name(s) or column number(s) denoting fecundity associated with the first year or observation time in the input dataset. This may represent egg counts, fruit counts, seed production, etc. Can refer to the first instance, or all instances of these variables. In the latter case, the values should be entered as a vector. 
indcovacol 
A variable name(s) or column number(s) corresponding to an individual covariate to be used in analysis. Can refer to the only instance, the first instance, or all instances of these variables. In the last case, the values should be entered as a vector. 
indcovbcol 
A variable name(s) or column number(s) corresponding to an individual covariate to be used in analysis. Can refer to the only instance, the first instance, or all instances of these variables. In the last case, the values should be entered as a vector. 
indcovccol 
A second variable name(s) or column number(s) corresponding to an individual covariate to be used in analysis. Can refer to the only instance, the first instance, or all instances of these variables. In the last case, the values should be entered as a vector. 
aliveacol 
Variable name(s) or column number(s) providing information on whether an individual is alive at a given time. If used, living status must be designated as binomial (living = 1, dead = 0). Can refer to the first instance of a living status variable in the dataset, or equal a full vector of all living status variables in temporal order. 
deadacol 
Variable name(s) or column number(s) providing information on whether an individual is alive at a given time. If used, dead status must be designated as binomial (dead = 1, living = 0). Can refer to the first instance of a dead status variable in the dataset, or equal a full vector of all dead status variables in temporal order. 
obsacol 
A variable name(s) or column number(s) providing information on whether an individual is in an observable stage at a given time. If used, observation status must be designated as binomial (observed = 1, not observed = 0). Can refer to the first instance of an observation status variable in the dataset, or equal a full vector of all observation status variables in temporal order. 
nonobsacol 
A variable name(s) or column number(s) providing information on whether an individual is in an unobservable stage at a given time. If used, observation status must be designated as binomial (not observed = 1, observed = 0). Can refer to the first instance of a nonobservation status variable in the dataset, or equal a full vector of all nonobservation status variables in temporal order. 
censorcol 
A variable name(s) or column number(s) corresponding to the
first entry of a censor variable, used to distinguish between entries to use
and entries not to use, or to designate entries with special issues that
require further attention. Can refer to the first instance of a censor status
variable in the dataset, or equal a full vector of all censor status
variables in temporal order. Can also refer to a single censor status
variable used for the entire individual, if 
repstrrel 
This is a scalar multiplier on variable 
fecrel 
This is a scalar multiplier on variable 
stagecol 
Optional variable name(s) or column number(s) corresponding to life history stage at a given time. Can refer to the first instance of a stage identity variable in the dataset, or equal a full vector of all stage identity variables in temporal order. 
stageassign 
The stageframe object identifying the life history model
being operationalized. Note that if 
stagesize 
A variable name or column number describing which size
variable to use in stage estimation. Defaults to NA, and can also take

censorkeep 
The value of the censor variable identifying data to be included in analysis. Defaults to 0, but may take any value including NA. Note that if NA is the value to keep, then this function will alter all NAs to 0 values, and all other values to 1, treating 0 as the value to keep. 
censorRepeat 
A logical value indicating whether the censor variable is a single column, or whether it repeats across time blocks. Defaults to TRUE. 
censor 
A logical variable determining whether the output data should
be censored using the variable defined in 
coordsRepeat 
A logical value indicating whether x and y coordinates correspond to a single x and a single y column. If TRUE, then each observation time has its own x and y variables. Defaults to FALSE. 
spacing 
The spacing at which density should be estimated, if density
estimation is desired and x and y coordinates are supplied. Given in the same
units as those used in the x and y coordinates given in 
NAas0 
If TRUE, then all NA entries for size and fecundity variables
will be set to 0. This can help increase the sample size analyzed by

NRasRep 
If TRUE, then will treat nonreproductive but mature
individuals as reproductive during stage assignment. This can be useful when
a matrix is desired without separation of reproductive and nonreproductive
but mature stages of the same size. Only used if 
reduce 
A logical variable determining whether unused variables and some invariant state variables should be removed from the output dataset. Defaults to TRUE. 
a2check 
A logical variable indicating whether to retain all data with living status at time t equal to 0. Defaults to FALSE, and should be kept on FALSE except to inspect potential errors in the dataset. 
If all inputs are properly formatted, then this function will output
a historical vertical data frame (class hfvdata
), meaning that the
output data frame will have three consecutive times of size and reproductive
data per individual per row. This data frame is in standard format for all
functions used in lefko3
, and so can be used without further
modification.
Variables in this data frame include the following:
rowid 
Unique identifier for the row of the data frame. 
popid 
Unique identifier for the population, if given. 
patchid 
Unique identifier for patch within population, if given. 
individ 
Unique identifier for the individual. 
year2 
Year or time at time t. 
firstseen 
Year or time of first observation. 
lastseen 
Year or time of last observation. 
obsage 
Observed age in time t, assuming first observation corresponds to age = 0. 
obslifespan 
Observed lifespan, given as 
xpos1,xpos2,xpos3 
X position in Cartesian space in times t1, t, and t+1, respectively, if provided. 
ypos1,ypos2,ypos3 
Y position in Cartesian space in times t1, t, and t+1, respectively, if provided. 
sizea1,sizea2,sizea3 
Main size measurement in times t1, t, and t+1, respectively. 
sizeb1,sizeb2,sizeb3 
Secondary size measurement in times t1, t, and t+1, respectively. 
sizec1,sizec2,sizec3 
Tertiary measurement in times t1, t, and t+1, respectively. 
size1added,size2added,size3added 
Sum of primary, secondary, and tertiary size measurements in times t1, t, and t+1, respectively. 
repstra1,repstra2,repstra3 
Main numbers of reproductive structures in times t1, t, and t+1, respectively. 
repstrb1,repstrb2,repstrb3 
Secondary numbers of reproductive structures in times t1, t, and t+1, respectively. 
repstr1added,repstr2added,repstr3added 
Sum of primary and secondary reproductive structures in times t1, t, and t+1, respectively. 
feca1,feca2,feca3 
Main numbers of offspring in times t1, t, and t+1, respectively. 
fecb1,fecb2, fecb3 
Secondary numbers of offspring in times t1, t, and t+1, respectively. 
fec1added,fec2added,fec3added 
Sum of primary and secondary fecundity in times t1, t, and t+1, respectively. 
censor1,censor2,censor3 
Censor state values in times t1, t, and t+1, respectively. 
juvgiven1,juvgiven2,juvgiven3 
Binomial variable indicating whether
individual is juvenile in times t1, t, and t+1. Only
given if 
obsstatus1,obsstatus2,obsstatus3 
Binomial observation state in times t1, t, and t+1, respectively. 
repstatus1,repstatus2,repstatus3 
Binomial reproductive state in times t1, t, and t+1, respectively. 
fecstatus1,fecstatus2,fecstatus3 
Binomial offspring production state in times t1, t, and t+1, respectively. 
matstatus1,matstatus2,matstatus3 
Binomial maturity state in times t1, t, and t+1, respectively. 
alive1,alive2,alive3 
Binomial state as alive in times t1, t, and t+1, respectively. 
density 
Density of individuals per unit designated in 
In some datasets on species with unobserveable stages, observation status
(obsstatus
) might not be inferred properly if a single size variable
is used that does not yield sizes greater than 0 in all cases in which
individuals were observed. Such situations may arise, for example, in plants
when leaf number is the dominant size variable used, but individuals
occasionally occur with inflorescences but no leaves. In this instances,
it helps to mark related variables as sizeb
and sizec
, because
observation status will be interpreted in relation to all 3 size variables.
Further analysis can then utilize only a single size variable, of the user's
choosing. Similar issues can arise in reproductive status (repstatus
).
Warnings that some individuals occur in state combinations that do not match
any stages in the stageframe used to assign stages are common when first
working with a dataset. Typically, these situations can be identified as
NoMatch
entries in stage3
, although such entries may crop up in
stage1
and stage2
, as well. In rare cases, these warnings will
arise with no concurrent NoMatch
entries, which indicates that the
input dataset contained conflicting state data at once suggesting that the
individual is in some stage but is also dead. The latter is removed if the
conflict occurs in time t or time t1, as only living entries
are allowed in these times.
Care should be taken to avoid variables with negative values indicating size, fecundity, or reproductive or observation status. Negative values can be interpreted in different ways, typically reflecting estimation through other algorithms rather than actual measured data. Variables holding negative values can conflict with data management algorithms in ways that are difficult to predict.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186  # Lathyrus example using blocksize  when repeated patterns exist in variable
# order
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")
ehrlen3mean < lmean(ehrlen3)
ehrlen3mean$A[[1]]
# Lathyrus example without blocksize  when no repeated patterns exist in
# variable order and all variables names are specified
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",
juvcol = c("Seedling1988", "Seedling1989", "Seedling1990", "Seedling1991"),
sizeacol = c("Volume88", "Volume89", "Volume90", "Volume91"),
repstracol = c("FCODE88", "FCODE89", "FCODE90", "FCODE91"),
fecacol = c("Intactseed88", "Intactseed89", "Intactseed90", "Intactseed91"),
deadacol = c("Dead1988", "Dead1989", "Dead1990", "Dead1991"),
nonobsacol = c("Dormant1988", "Dormant1989", "Dormant1990", "Dormant1991"),
censorcol = c("Missing1988", "Missing1989", "Missing1990", "Missing1991"),
stageassign = lathframe, stagesize = "sizea",
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")
ehrlen3mean < lmean(ehrlen3)
ehrlen3mean$A[[1]]
# Cypripedium example using blocksize
rm(list=ls(all=TRUE))
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", "SL", "D",
"XSm", "Sm", "SD", "P1"),
stage2 = c("SD", "SD", "P1", "P2", "P3", "SL", "SL", "SL", "SL", "rep",
"rep"),
eststage3 = c(NA, NA, NA, NA, NA, NA, "D", "XSm", "Sm", NA, NA),
eststage2 = c(NA, NA, NA, NA, NA, NA, "XSm", "XSm", "XSm", NA, NA),
givenrate = c(0.10, 0.20, 0.20, 0.20, 0.25, 0.40, NA, NA, NA, NA, NA),
multiplier = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.5, 0.5),
type =c(1, 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")
cyp2mean < lmean(cypmatrix2r)
cyp2mean
# Cypripedium example using partial repeat patterns with blocksize and part
# explicit variable name cast
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 = c("Inf.04", "Inf.05", "Inf.06", "Inf.07", "Inf.08", "Inf.09"),
repstrbcol = c("Inf2.04", "Inf2.05", "Inf2.06", "Inf2.07", "Inf2.08", "Inf2.09"),
fecacol = "Pod.04", stageassign = cypframe_raw, stagesize = "sizeadded",
NAas0 = TRUE, NRasRep = TRUE)
cypsupp2r < supplemental(stage3 = c("SD", "P1", "P2", "P3", "SL", "SL", "D",
"XSm", "Sm", "SD", "P1"),
stage2 = c("SD", "SD", "P1", "P2", "P3", "SL", "SL", "SL", "SL", "rep",
"rep"),
eststage3 = c(NA, NA, NA, NA, NA, NA, "D", "XSm", "Sm", NA, NA),
eststage2 = c(NA, NA, NA, NA, NA, NA, "XSm", "XSm", "XSm", NA, NA),
givenrate = c(0.10, 0.20, 0.20, 0.20, 0.25, 0.40, NA, NA, NA, NA, NA),
multiplier = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.5, 0.5),
type =c(1, 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")
cyp2mean < lmean(cypmatrix2r)
cyp2mean

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.