Converts one-fish-per-line (i.e., “wide”) format growth data from radial to incremental or incremental to radial measurements.
gConvert(
df,
in.pre = NULL,
in.var = NULL,
out.type = c("inc", "rad"),
out.pre = out.type
)
A data.frame that contains the growth measurement data in one-fish-per-line (i.e., “wide”) format.
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.
A vector of column numbers or variable names in the input data.frame that contain the measurements from the calcified structures. See details.
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.
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
.
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.
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 addRadCap
for related functionality.
## Get data with radial measurements
data(SMBassWB,package="FSA")
head(SMBassWB)
#> species lake gear yearcap fish agecap lencap anu1 anu2 anu3 anu4 anu5 anu6
#> 1 SMB WB E 1988 5 1 71 1.90606 NA NA NA NA NA
#> 2 SMB WB E 1988 3 1 64 1.87707 NA NA NA NA NA
#> 3 SMB WB E 1988 2 1 57 1.09227 NA NA NA NA NA
#> 4 SMB WB E 1988 4 1 68 1.31848 NA NA NA NA NA
#> 5 SMB WB E 1988 6 1 72 1.59283 NA NA NA NA NA
#> 6 SMB WB E 1988 7 1 80 1.91602 NA NA NA NA NA
#> anu7 anu8 anu9 anu10 anu11 anu12 radcap
#> 1 NA NA NA NA NA NA 1.90606
#> 2 NA NA NA NA NA NA 1.87707
#> 3 NA NA NA NA NA NA 1.09736
#> 4 NA NA NA NA NA NA 1.33108
#> 5 NA NA NA NA NA NA 1.59283
#> 6 NA NA NA NA NA NA 1.91602
## Use in.pre= to convert to increments
SMBi1 <- gConvert(SMBassWB,in.pre="anu",out.type="inc")
head(SMBi1)
#> species lake gear yearcap fish agecap lencap radcap inc1 inc2 inc3 inc4
#> 1 SMB WB E 1988 5 1 71 1.90606 1.90606 NA NA NA
#> 2 SMB WB E 1988 3 1 64 1.87707 1.87707 NA NA NA
#> 3 SMB WB E 1988 2 1 57 1.09736 1.09227 NA NA NA
#> 4 SMB WB E 1988 4 1 68 1.33108 1.31848 NA NA NA
#> 5 SMB WB E 1988 6 1 72 1.59283 1.59283 NA NA NA
#> 6 SMB WB E 1988 7 1 80 1.91602 1.91602 NA NA NA
#> inc5 inc6 inc7 inc8 inc9 inc10 inc11 inc12
#> 1 NA NA NA NA NA NA NA NA
#> 2 NA NA NA NA NA NA NA NA
#> 3 NA NA NA NA NA NA NA NA
#> 4 NA NA NA NA NA NA NA NA
#> 5 NA NA NA NA NA NA NA NA
#> 6 NA NA NA NA NA NA NA NA
## 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)
#> species lake gear yearcap fish agecap lencap radcap inc1 inc2 inc3 inc4
#> 1 SMB WB E 1988 5 1 71 1.90606 1.90606 NA NA NA
#> 2 SMB WB E 1988 3 1 64 1.87707 1.87707 NA NA NA
#> 3 SMB WB E 1988 2 1 57 1.09736 1.09227 NA NA NA
#> 4 SMB WB E 1988 4 1 68 1.33108 1.31848 NA NA NA
#> 5 SMB WB E 1988 6 1 72 1.59283 1.59283 NA NA NA
#> 6 SMB WB E 1988 7 1 80 1.91602 1.91602 NA NA NA
#> inc5 inc6 inc7 inc8 inc9 inc10 inc11 inc12
#> 1 NA NA NA NA NA NA NA NA
#> 2 NA NA NA NA NA NA NA NA
#> 3 NA NA NA NA NA NA NA NA
#> 4 NA NA NA NA NA NA NA NA
#> 5 NA NA NA NA NA NA NA NA
#> 6 NA NA NA NA NA NA NA NA
## Use in.var with column numbers to convert to increments
SMBi3 <- gConvert(SMBassWB,in.var=8:19,out.type="inc")
head(SMBi3)
#> species lake gear yearcap fish agecap lencap radcap inc1 inc2 inc3 inc4
#> 1 SMB WB E 1988 5 1 71 1.90606 1.90606 NA NA NA
#> 2 SMB WB E 1988 3 1 64 1.87707 1.87707 NA NA NA
#> 3 SMB WB E 1988 2 1 57 1.09736 1.09227 NA NA NA
#> 4 SMB WB E 1988 4 1 68 1.33108 1.31848 NA NA NA
#> 5 SMB WB E 1988 6 1 72 1.59283 1.59283 NA NA NA
#> 6 SMB WB E 1988 7 1 80 1.91602 1.91602 NA NA NA
#> inc5 inc6 inc7 inc8 inc9 inc10 inc11 inc12
#> 1 NA NA NA NA NA NA NA NA
#> 2 NA NA NA NA NA NA NA NA
#> 3 NA NA NA NA NA NA NA NA
#> 4 NA NA NA NA NA NA NA NA
#> 5 NA NA NA NA NA NA NA NA
#> 6 NA NA NA NA NA NA NA NA
## Convert back to radial measurements
SMBr1 <- gConvert(SMBi1,in.pre="inc",out.type="rad")
head(SMBr1)
#> species lake gear yearcap fish agecap lencap radcap rad1 rad2 rad3 rad4
#> 1 SMB WB E 1988 5 1 71 1.90606 1.90606 NA NA NA
#> 2 SMB WB E 1988 3 1 64 1.87707 1.87707 NA NA NA
#> 3 SMB WB E 1988 2 1 57 1.09736 1.09227 NA NA NA
#> 4 SMB WB E 1988 4 1 68 1.33108 1.31848 NA NA NA
#> 5 SMB WB E 1988 6 1 72 1.59283 1.59283 NA NA NA
#> 6 SMB WB E 1988 7 1 80 1.91602 1.91602 NA NA NA
#> rad5 rad6 rad7 rad8 rad9 rad10 rad11 rad12
#> 1 NA NA NA NA NA NA NA NA
#> 2 NA NA NA NA NA NA NA NA
#> 3 NA NA NA NA NA NA NA NA
#> 4 NA NA NA NA NA NA NA NA
#> 5 NA NA NA NA NA NA NA NA
#> 6 NA NA NA NA NA NA NA NA