A function or formula.
If a function, it is used as is.
If a formula, e.g. ~ .x + 2
, it is converted to a function
with up to two arguments: .x
(single argument) or .x
and .y
(two arguments). The .
placeholder can be used instead of .x
.
This allows you to create very compact anonymous functions (lambdas) with up
to two inputs. Functions created from formulas have a special
class. Use is_lambda()
to test for it.
If a string, the function is looked up in env
. Note that
this interface is strictly for user convenience because of the
scoping issues involved. Package developers should avoid
supplying functions by name and instead supply them by value.