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), or see the online documentation.
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.