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