Last chance! 50% off unlimited learning
Sale ends in
as_function()
transform objects to functions. It fetches
functions by name if supplied a string or transforms
quosures to a proper function.
as_closure()
first passes its argument to as_function()
. If
the result is a primitive function, it regularises it to a proper
closure (see is_function()
about primitive functions).
as_function(x, env = caller_env())as_closure(x, env = caller_env())
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 two arguments, .x
or .
and .y
. This allows you to
create very compact anonymous functions with up to two inputs.
Environment in which to fetch the function in case x
is a string.
# NOT RUN {
f <- as_function(~ . + 1)
f(10)
# Primitive functions are regularised as closures
as_closure(list)
as_closure("list")
# Operators have `.x` and `.y` as arguments, just like lambda
# functions created with the formula syntax:
as_closure(`+`)
as_closure(`~`)
# }
Run the code above in your browser using DataLab