inject {rlang}R Documentation

Inject objects in an R expression

Description

inject() evaluates an expression with injection support. There are three main usages:

Usage

inject(expr, env = caller_env())

Arguments

expr

An argument to evaluate. This argument is immediately evaluated in env (the current environment by default) with injected objects and expressions.

env

The environment in which to evaluate expr. Defaults to the current environment. For expert use only.

Examples

# 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))

[Package rlang version 1.1.3 Index]