| deparse {base} | R Documentation |
Expression Deparsing
Description
Turn unevaluated expressions into character strings.
Usage
deparse(expr, width.cutoff = 60,
backtick = mode(expr) %in% c("call", "expression", "("),
control = c("keepInteger", "showAttributes", "keepNA") )
Arguments
expr |
any R expression. |
width.cutoff |
integer in |
backtick |
logical indicating whether symbolic names should be enclosed in backticks if they do not follow the standard syntax. |
control |
character vector of deparsing options. See
|
Details
This function turns unevaluated expressions (where “expression”
is taken in a wider sense than the strict concept of a vector of mode
"expression" used in expression) into character
strings (a kind of inverse parse).
A typical use of this is to create informative labels for data sets
and plots. The example shows a simple use of this facility. It uses
the functions deparse and substitute to create labels
for a plot which are character string versions of the actual arguments
to the function myplot.
The default for the backtick option is not to quote single
symbols but only composite expressions. This is a compromise to
avoid breaking existing code.
Using control = "all" comes closest to making deparse()
an inverse of parse(). However, not all objects are
deparse-able even with this option and a warning will be issued if the
function recognizes that it is being asked to do the impossible.
Numeric and complex vectors are converted using 15 significant digits:
see as.character for more details.
Note
To avoid the risk of a source attribute out of sync with the actual function definition, the source attribute of a function will never be deparsed as an attribute.
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth \& Brooks/Cole.
See Also
substitute,
parse,
expression.
Quotes for quoting conventions, including backticks.
Examples
require(stats)
deparse(args(lm))
deparse(args(lm), width = 500)
myplot <-
function(x, y) {
plot(x, y, xlab=deparse(substitute(x)),
ylab=deparse(substitute(y)))
}
e <- quote(`foo bar`)
deparse(e)
deparse(e, backtick=TRUE)
e <- quote(`foo bar`+1)
deparse(e)
deparse(e, control = "all")