Learn R Programming

RFishBC (version 0.2.7)

gConvert: Converts between types of measurements.

Description

Converts one-fish-per-line (i.e., “wide”) format growth data from radial to incremental or incremental to radial measurements.

Usage

gConvert(
  df,
  in.pre = NULL,
  in.var = NULL,
  out.type = c("inc", "rad"),
  out.pre = out.type
)

Value

A data.frame with all columns, except for those defined by in.pre or in.var, from the df retained as the left-most columns and the original data in the in.var columns converted to the out.type type as the remaining columns.

Arguments

df

A data.frame that contains the growth measurement data in one-fish-per-line (i.e., “wide”) format.

in.pre

A string that indicates the prefix for all variable names in the input data.frame that contain the measurements from the calcified structures. See details.

in.var

A vector of column numbers or variable names in the input data.frame that contain the measurements from the calcified structures. See details.

out.type

A string that identifies the output format data type (i.e., the format to convert to). If "inc" (the default) the output data frame will be incremental measurements. If "rad" the output data frame will be radial measurements.

out.pre

A string that indicates the prefix to use for the newly computed measurements in the output data frame. Defaults to the same string as out.type.

Author

Derek H. Ogle, DerekOgle51@gmail.com

Details

The data must be in one-fish-per-line (i.e., “wide”) format where each row contains all information (including all measurements from the calcified structure) for an individual fish. It is assumed that the input data.frame is of the opposite data type given in out.type (i.e., that a conversion is needed). It does not check to see if this is true.

The columns that contain the original measurement data can specified in a variety of ways. First, if all columns begin with the same prefix (and no other columns contain that prefix), then the prefix string may be given to in.pre=. Second, a sequence of column numbers may be given to in.var= with the #:# (if the columns are contiguous) or as a vector (if the columns are not contiguous). Third, a vector of column names may be given to in.var=. Note that one, but not both, of in.var= or in.pre= must be specified by the user.

The newly computed data will be labeled with a prefix the same as out.type= (i.e., "rad" or "inc") unless out.pre= is set by the user. For example, if the data are converted to radial measurements, then the output variables will be “rad1”, “rad2”, etc. unless out.pre= was changed from the default. This function assumes that the measurements start with age-1.

See Also

See addRadCap for related functionality.

Examples

Run this code
## Get data with radial measurements
data(SMBassWB,package="FSA")
head(SMBassWB)

## Use in.pre= to convert to increments
SMBi1 <- gConvert(SMBassWB,in.pre="anu",out.type="inc")
head(SMBi1)

## Use in.var= with column names to convert to increments
SMBi2 <- gConvert(SMBassWB,in.var=c("anu1","anu2","anu3","anu4",
                                    "anu5","anu6","anu7","anu8",
                                    "anu9","anu10","anu11","anu12"),
                           out.type="inc")
head(SMBi2)

## Use in.var with column numbers to convert to increments
SMBi3 <- gConvert(SMBassWB,in.var=8:19,out.type="inc")
head(SMBi3)

## Convert back to radial measurements
SMBr1 <- gConvert(SMBi1,in.pre="inc",out.type="rad")
head(SMBr1)

Run the code above in your browser using DataLab