deparse | R Documentation |
Turn unevaluated expressions into character strings.
deparse(expr, width.cutoff = 60L, backtick = mode(expr) %in% c("call", "expression", "(", "function"), control = c("keepNA", "keepInteger", "niceNames", "showAttributes"), nlines = -1L) deparse1(expr, collapse = " ", width.cutoff = 500L, ...)
expr |
any R expression. |
width.cutoff |
integer in [20, 500] determining the cutoff (in bytes) at which line-breaking is tried. |
backtick |
logical indicating whether symbolic names should be enclosed in backticks if they do not follow the standard syntax. |
control |
character vector (or |
nlines |
integer: the maximum number of lines to produce. Negative values indicate no limit. |
collapse |
a string, passed to |
... |
further arguments passed to |
These functions turn unevaluated expressions (where ‘expression’
is taken in a wider sense than the strict concept of a vector of
mode
and type (typeof
)
"expression"
used in expression
) into character
strings (a kind of inverse to 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.
width.cutoff
is a lower bound for the line lengths: deparsing a
line proceeds until at least width.cutoff
bytes have
been output and e.g. arg = value
expressions will not be split
across lines.
deparse1()
is a simple utility added in R 4.0.0 to ensure a
string result (character
vector of length one),
typically used in name construction, as
deparse1(substitute(.))
.
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.
Deparsing internal structures may not be accurate: for example the
graphics display list recorded by recordPlot
is not
intended to be deparsed and .Internal
calls will be shown as
primitive calls.
Attributes named dim
, dimnames
, levels
,
names
and tsp
are deparsed to .Dim
,
.Dimnames
, .Label
, .Names
and .Tsp
as part
of calls to structure
, apparently for historical
compatibility with S. This is likely to change in future.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
.deparseOpts
for available control
settings;
dput()
and dump()
for related functions using
identical internal deparsing functionality.
substitute
,
parse
,
expression
.
Quotes
for quoting conventions, including backticks.
require(stats); require(graphics) deparse(args(lm)) deparse(args(lm), width.cutoff = 500) myplot <- function(x, y) { plot(x, y, xlab = deparse1(substitute(x)), ylab = deparse1(substitute(y))) } e <- quote(`foo bar`) deparse(e) deparse(e, backtick = TRUE) e <- quote(`foo bar`+1) deparse(e) deparse(e, control = "all") # wraps it w/ quote( . )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.