Sets up dataframe and does some basic error checking. Adds needed fields to
dataframe and to meta.data
.
process.data(data, meta.data = list(), check = TRUE)
processed data.frame
with added fields
meta.data list
dataframe object
meta.data options; see ddf
for a description
if TRUE
check data for errors in the mrds structure; for
method="ds" check=FALSE
Jeff Laake
The function does a number of error checking tasks, creating fields and
adding to meta.data
including:
1) If check=TRUE
, check to make sure the record structure is okay for
mrds data. The number of primary records (observer=1) must equal the number
of secondary records (observer=2). Also, a field in the dataframe is created
timesseen
which counts the number of times an object was detected
0,1,2; if timesseen=0
then the record is tossed from the analysis.
Also if there are differences in the data (distance, size, covariates) for
observer 1 and 2 a warning is issued that the analysis may fail. The code
assumes these values are the same for both observers.
2) Based on the presence of fields distbegin
and distend
, a
determination is made of whether the data analysis should be based on binned
distances and a field binned
is created, which is TRUE
if the
distance for the observation is binned. By assigning for each observation
this allows an analysis of a mixture of binned and unbinned distances.
4) Data are restricted such that distances are not greater than width
and not less than left
if those values are specified in
meta.data
. If they are not specified then left
defaults to 0
and width
defaults to the largest distance measurement.
5) Determine if an integration range (int.begin
and int.end
has been specified for the observations. If it has, add the structure to
meta.data
. The integration range is typically used for aerial
surveys in which the altitude varies such that the strip width (left to
width) changes with a change in altitude.
6) Fields defined as factors are cleaned up such that any unused levels are eliminated.
7) If the restrictions placed on the data, eliminated all of the data, the function stops with an error message