Aggregate.coin {COINr} | R Documentation |
Aggregates a named data set specified by dset
using aggregation function f_ag
, weights w
, and optional
function parameters f_ag_para
. Note that COINr has a number of aggregation functions built in,
all of which are of the form a_*()
, e.g. a_amean()
, a_gmean()
and friends.
## S3 method for class 'coin'
Aggregate(
x,
dset,
f_ag = NULL,
w = NULL,
f_ag_para = NULL,
dat_thresh = NULL,
by_df = FALSE,
out2 = "coin",
write_to = NULL,
...
)
x |
A coin class object. |
dset |
The name of the data set to apply the function to, which should be accessible in |
f_ag |
The name of an aggregation function, a string. This can either be a single string naming
a function to use for all aggregation levels, or else a character vector of function names of length |
w |
An optional data frame of weights. If |
f_ag_para |
Optional parameters to pass to |
dat_thresh |
An optional data availability threshold, specified as a number between 0 and 1. If a row
within an aggregation group has data availability lower than this threshold, the aggregated value for that row will be
|
by_df |
Controls whether to send a numeric vector to |
out2 |
Either |
write_to |
If specified, writes the aggregated data to |
... |
arguments passed to or from other methods. |
Aggregation is performed row-wise using the function f_ag
, such that for each row x_row
, the output is
f_ag(x_row, f_ag_para)
, and for the whole data frame, it outputs a numeric vector. The data frame x
must
only contain numeric columns.
The function f_ag
must be supplied as a string, e.g. "a_amean"
, and it must take as a minimum an input
x
which is either a numeric vector (if by_df = FALSE
), or a data frame (if by_df = TRUE
). In the former
case f_ag
should return a single numeric value (i.e. the result of aggregating x
), or in the latter case
a numeric vector (the result of aggregating the whole data frame in one go).
f_ag
can optionally have other parameters, e.g. weights, specified as a list in f_ag_para
.
Note that COINr has a number of aggregation functions built in,
all of which are of the form a_*()
, e.g. a_amean()
, a_gmean()
and friends. To see a list browse COINr functions alphabetically or
type a_
in the R Studio console and press the tab key (after loading COINr).
Optionally, a data availability threshold can be assigned below which the aggregated value will return
NA
(see dat_thresh
argument). If by_df = TRUE
, this will however be ignored because aggregation is not
done on individual rows. Note that more complex constraints could be built into f_ag
if needed.
An updated coin with aggregated data set added at .$Data[[write_to]]
if out2 = "coin"
,
else if out2 = "df"
outputs the aggregated data set as a data frame.
# build example up to normalised data set
coin <- build_example_coin(up_to = "Normalise")
# aggregate normalised data set
coin <- Aggregate(coin, dset = "Normalised")