Inject objects in an R expression
inject()
evaluates an expression with injection
(unquotation) support. There are three main usages:
inject(expr, env = caller_env())
expr |
An argument to evaluate. This argument is immediately
evaluated in |
env |
The environment in which to evaluate |
Splicing lists of arguments in a function call.
Inline objects or other expressions in an expression with !!
and !!!
. For instance to create functions or formulas
programmatically.
Pass arguments to NSE functions that defuse their
arguments without injection support (see for instance
enquo0()
). You can use {{ arg }}
with functions documented
to support quosures. Otherwise, use !!enexpr(arg)
.
# inject() simply evaluates its argument with injection # support. These expressions are equivalent: 2 * 3 inject(2 * 3) inject(!!2 * !!3) # Injection with `!!` can be useful to insert objects or # expressions within other expressions, like formulas: lhs <- sym("foo") rhs <- sym("bar") inject(!!lhs ~ !!rhs + 10) # Injection with `!!!` splices lists of arguments in function # calls: args <- list(na.rm = TRUE, finite = 0.2) inject(mean(1:10, !!!args))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.