This version of substitute is more suited for interactive
exploration because it will perform substitution in the global environment:
the regular version has a special case for the global environment where it
effectively works like quote
subs(x, env = parent.frame())a quoted call
an environment, or something that behaves like an environment
(like a list or data frame), or a reference to an environment (like a
positive integer or name, see as.environment for more
details)
Formally, substitution takes place by examining each name in the expression. If the name refers to:
an ordinary variable, it's replaced by the value of the variable.
a promise, it's replaced by the expression associated with the promise.
..., it's replaced by the contents of ...
a <- 1
b <- 2
substitute(a + b)
#> 1 + 2
subs(a + b)
#> 1 + 2