aggregatinFuntion1
creates statistical summaries of one numerical vector that are formula aware.
aggregatingFunction1(
fun,
output.multiple = FALSE,
envir = parent.frame(),
na.rm = getOption("na.rm", FALSE),
style = c("formula1st", "formula", "flexible")
)
a function that takes a numeric vector and computes a summary statistic, returning a numeric vector.
a boolean indicating whether fun
returns multiple values
an environment in which evaluation takes place.
the default value for na.rm in the resulting function.
one of "formula1st"
, "formula2nd"
or "flexible"
. In the first
two cases, the first argument must be a formula or evaluate to an object. In the latter case,
bare names will be converted into formulas.
a function that generalizes fun
to handle a formula/data frame interface.
The logic of the resulting function is this: 1) If the first argument is a formula,
use that formula and data
to create the necessary call(s) to fun
; (2) Else simply
pass everything to fun
for evaluation.
Earlier versions of this function supported a "bare name + data frame" interface. This functionality has been removed since it was (a) ambiguous in some cases, (b) unnecessary, and (c) difficult to maintain.
if (require(mosaicData)) {
foo <- aggregatingFunction1(base::mean)
foo( ~ length, data = KidsFeet)
base::mean(KidsFeet$length)
foo(length ~ sex, data = KidsFeet)
}
#> B G
#> 25.10500 24.32105