Learn R Programming

lefko3 (version 3.1.0)

verticalize3: Create Historical Vertical Data Frames From Horizontal Data Frames

Description

verticalize3() returns a vertically formatted demographic data frame organized to create historical projection matrices, given a horizontally formatted input data frame.

Usage

verticalize3(
  data,
  noyears,
  firstyear,
  popidcol = 0,
  patchidcol = 0,
  individcol = 0,
  blocksize,
  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,
  censor = FALSE,
  spacing = NA,
  NAas0 = FALSE,
  NRasRep = FALSE,
  reduce = TRUE
)

Arguments

data

The horizontal data file.

noyears

The number of years or observation periods in the dataset.

firstyear

The first year or time of observation.

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 data.

xcol

A variable name or column number corresponding to the x coordinate of each individual in Cartesian space.

ycol

A variable name or column number corresponding to the y coordinate of each individual in Cartesian space.

juvcol

A variable name or column number that marks individuals in immature stages within the dataset. The verticalize3() function assumes that immature individuals are identified in this variable marked with a number equal to or greater than 1, and that mature individuals are marked as 0 or NA.

sizeacol

A variable name or column number corresponding to the size entry associated with the first year or observation time in the dataset.

sizebcol

A second variable name or column number corresponding to the size entry associated with the first year or observation time in the dataset.

sizeccol

A third variable name or column number corresponding to the size entry associated with the first year or observation time in the dataset.

repstracol

A variable name or column number 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.

repstrbcol

A second variable name or column number 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.

fecacol

A variable name or column number denoting fecundity associated with the first year or observation time in the input dataset. This may represent egg counts, fruit counts, seed production, etc.

fecbcol

A second variable name or column number denoting fecundity associated with the first year or observation time in the input dataset. This may represent egg counts, fruit counts, seed production, etc.

indcovacol

A variable name or column number corresponding to an individual covariate to be used in analysis.

indcovbcol

A variable name or column number corresponding to an individual covariate to be used in analysis.

indcovccol

A second variable name or column number corresponding to an individual covariate to be used in analysis.

aliveacol

A variable name or column number that provides information on whether an individual is alive at a given time. If used, living status must be designated as binomial (living = 1, dead = 0).

deadacol

A variable name or column number that provides information on whether an individual is alive at a given time. If used, dead status must be designated as binomial (dead = 1, living = 0).

obsacol

A variable name or column number 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).

nonobsacol

A variable name or column number 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).

censorcol

A variable name or column number 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. If used, this should be associated with the first year or observation time, and all other years or times must also have censor columns.

repstrrel

This is a scalar multiplier on variable repstrbcol to make it equivalent to repstracol. This can be useful if two reproductive status variables have related but unequal units, for example if repstracol refers to one-flowered stems while repstrbcol refers to two-flowered stems. Defaults to 1.

fecrel

This is a scalar multiplier on variable fecbcol to make it equivalent to fecacol. This can be useful if two fecundity variables have related but unequal units. Defaults to 1.

stagecol

Optional variable name or column number corresponding to life history stage at a given time.

stageassign

The stageframe object identifying the life history model being operationalized. Note that if stagecol is provided, then this stageframe is not used for stage designation.

stagesize

A variable name or column number describing which size variable to use in stage estimation. Defaults to NA, and can also take sizea, sizeb, sizec, or sizeadded, depending on which size variable is chosen.

censorkeep

The value of the censor variable identifying data to be included in analysis. Defaults to 0, but may take any value including NA.

censor

A logical variable determining whether the output data should be censored using the variable defined in censorcol. 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 xcol and ycol. Defaults to NA.

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 modelsearch(), but should only be used when it is clear that this substitution is biologically realistic. Defaults to FALSE.

NRasRep

If TRUE, then will treat non-reproductive but mature individuals as reproductive during stage assignment. This can be useful when a matrix is desired without separation of reproductive and non-reproductive but mature stages of the same size. Only used if stageassign is set to a stageframe. Defaults to FALSE.

reduce

A logical variable determining whether unused variables and some invariant state variables should be removed from the output dataset. Defaults to TRUE.

Value

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 lastseen - firstseen + 1.

xpos1,xpos2,xpos3

X position in Cartesian space in times t-1, t, and t+1, respectively, if provided.

ypos1,ypos2,ypos3

Y position in Cartesian space in times t-1, t, and t+1, respectively, if provided.

sizea1,sizea2,sizea3

Main size measurement in times t-1, t, and t+1, respectively.

sizeb1,sizeb2,sizeb3

Secondary size measurement in times t-1, t, and t+1, respectively.

sizec1,sizec2,sizec3

Tertiary measurement in times t-1, t, and t+1, respectively.

size1added,size2added,size3added

Sum of primary, secondary, and tertiary size measurements in timea t-1, t, and t+1, respectively.

repstra1,repstra2,repstra3

Main numbers of reproductive structures in times t-1, t, and t+1, respectively.

repstrb1,repstrb2,repstrb3

Secondary numbers of reproductive structures in times t-1, t, and t+1, respectively.

repstr1added,repstr2added,repstr3added

Sum of primary and secondary reproductive structures in times t-1, t, and t+1, respectively.

feca1,feca2,feca3

Main numbers of offspring in times t-1, t, and t+1, respectively.

fecb1,fecb2, fecb3

Secondary numbers of offspring in times t-1, t, and t+1, respectively.

fec1added,fec2added,fec3added

Sum of primary and secondary fecundity in times t-1, t, and t+1, respectively.

censor1,censor2,censor3

Censor state values in times t-1, t, and t+1, respectively.

juvgiven1,juvgiven2,juvgiven3

Binomial variable indicating whether individual is juvenile in times t-1, t, and t+1. Only given if juvcol is provided.

obsstatus1,obsstatus2,obsstatus3

Binomial observation state in times t-1, t, and t+1, respectively.

repstatus1,repstatus2,repstatus3

Binomial reproductive state in times t-1, t, and t+1, respectively.

fecstatus1,fecstatus2,fecstatus3

Binomial offspring production state in times t-1, t, and t+1, respectively.

matstatus1,matstatus2,matstatus3

Binomial maturity state in times t-1, t, and t+1, respectively.

alive1,alive2,alive3

Binomial state as alive in times t-1, t, and t+1, respectively.

density

Density of individuals per unit designated in spacing. Only given if spacing is not NA.

Examples

Run this code
# NOT RUN {
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)
summary(lathvert)

# }

Run the code above in your browser using DataLab