Applies a function to calculate a single value from
an individual's values for a response in a data.frame in
long format.
It includes the ability to calculate the observation number
that is closest to the calculated value of the function and
the assocated values of a factor or numeric.
byIndv_ValueCalc(data, response, individuals = "Snapshot.ID.Tag",
FUN = "max", which.obs = FALSE, which.values = NULL,
addFUN2name = TRUE, sep.FUNname = ".",
weights = NULL, na.rm=TRUE, sep.levels = ".", ...)A data.frame, with the same number of rows as there are
individuals, containing a column for the individuals and
a column with the values of the function for the individuals.
It is also possible to determine observaton numbers or the values of
another column in data for the response values that are
closest to the FUN results, using either or both of
which.obs and which.values. If which.obs is
TRUE, a column with observation numbers is included in the
data.frame.
If which.values is set to the name of a factor or
a numeric,a column containing the levels of that
factor or the values of that numeric is
included in the data.frame.
The name of the column with the values of the function will be formed by
concatenating the response and FUN, separated by a full stop.
If which.obs is TRUE, the column name for the obervations
numbers will have .obs added after FUN into the column name
for the function values; if which.values is specified,
the column name for these values will have a full stop followed by
which.values added after FUN into the column name
for the function values.
A data.frame containing the column from which the
function is to be calculated.
A character giving the name of the column in
data from which the values of FUN are to be
calculated.
A character giving the name of the
factor that defines the subsets of the data
for which each subset corresponds to the response values for
an individual (e.g. plant, pot, cart, plot or unit).
A character giving the name of the function
that calculates the value for each subset.
A logical indicating whether or not to determine
the observation number corresponding to the observed value that is
closest to the value of the function, in addition to the value of
the function itself. That is, FUN need not return an observed
value of the reponse, e.g. quantile. In the case of
multiple observed response values satisfying this condition,
the first is returned.
A character giving the name of the
factor or numeric whose values are
associated with the response values and whose value is to be
returned for the observation number whose response value
corresponds to the observed value closest to the value of the
function. That is, FUN need not return an observed value of
the reponse, e.g. quantile. In the case of multiple
observed response values satisfying this condition, the value of
the which.values vector for the first of these is
returned.
A logical that, if TRUE, indicates that
the FUN name is to be added to the names of the columns in
the data.frame returned by byIndv4Intvl_ValueCalc.
A character giving the character(s) to be used
to separate the name of FUN from the response
value in constructing the name for a new response. For no separator,
set to "".
A character giving the name of the column in
data containing the weights to be supplied as w
to FUN.
A logical indicating whether NA values
should be stripped before the calculation proceeds.
A character giving the separator to use when the
levels of individuals are combined. This is needed to avoid
using a character that occurs in a factor to delimit
levels when the levels of individuals are combined to
identify subsets.
allows for arguments to be passed to FUN.
Chris Brien
byIndv4Intvl_ValueCalc, byIndv4Times_GRsDiff,
byIndv4Times_SplinesGRs
data(exampleData)
sPSA.max.dat <- byIndv_ValueCalc(data=longi.dat, response = "PSA")
AGR.max.dat <- byIndv_ValueCalc(data=longi.dat, response = "sPSA.AGR",
FUN="max",
which.values = "DAP", which.obs = TRUE)
sPSA.dec1.dat <- byIndv_ValueCalc(data=longi.dat, response = "sPSA",
FUN="quantile",
which.values = "DAP", probs = 0.1)
Run the code above in your browser using DataLab