| within.qenv | R Documentation |
qenvEvaluate code in qenv
## S3 method for class 'qenv'
within(data, expr, ...)
data |
( |
expr |
( |
... |
named argument value will substitute a symbol in the |
within() is a convenience method that wraps eval_code to provide a simplified way of passing expression.
within accepts only inline expressions (both simple and compound) and allows to substitute expr
with ... named argument values.
Functions that trigger side effects like options or set.seed can be
linked to specific objects for further code retrieval (with get_code), but
only through eval_code where code input as character. within works on
expressions that do not preserve comments, hence you can not use # @linksto tag explained in get_code.
withinPassing language objects to expr is generally not intended but can be achieved with do.call.
Only single expressions will work and substitution is not available. See examples.
# evaluate code using within
q <- qenv()
q <- within(q, {
i <- iris
})
q <- within(q, {
m <- mtcars
f <- faithful
})
q
get_code(q)
# inject values into code
q <- qenv()
q <- within(q, i <- iris)
within(q, print(dim(subset(i, Species == "virginica"))))
within(q, print(dim(subset(i, Species == species)))) # fails
within(q, print(dim(subset(i, Species == species))), species = "versicolor")
species_external <- "versicolor"
within(q, print(dim(subset(i, Species == species))), species = species_external)
# pass language objects
expr <- expression(i <- iris, m <- mtcars)
within(q, expr) # fails
do.call(within, list(q, expr))
exprlist <- list(expression(i <- iris), expression(m <- mtcars))
within(q, exprlist) # fails
do.call(within, list(q, do.call(c, exprlist)))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.