str {base} | R Documentation |
Compactly Display the Structure of an Arbitrary R Object
Description
This is a “diagnostic” function, and an alternative to
summary
(and to some extent, dput
). Ideally,
only one line for each “basic” structure is displayed. It is especially
well suited to compactly display the (abbreviated) contents of
(possibly nested) lists. The idea is to give reasonable output for
any R object. It calls args
for (non-primitive)
function objects.
ls.str
and lsf.str
are useful “versions”
of ls
, calling str
on each object. They are not
foolproof and should rather not be used for programming, but are
provided for their usefulness.
Usage
str(object, ...)
str.data.frame(object, ...)
str.default(object, max.level = 0, vec.len = 4, digits.d = 3,
nchar.max = 128, give.attr = TRUE, give.length = TRUE,
wid = getOption("width"), nest.lev = 0,
indent.str = paste(rep(" ", max(0, nest.lev + 1)), collapse = ".."))
ls.str(name, pattern, mode = "any", max.level = 1, give.attr = FALSE)
lsf.str(...)
Arguments
object |
any R object about which you want to have some information. |
max.level |
maximal level of nesting which is applied for displaying nested structures, e.g., a list containing sub lists. Default 0: Display all nesting levels. |
vec.len |
numeric (>= 0) indicating how many “first few” elements are displayed of each vector. The number is multiplied by different factors (from .5 to 3) depending on the kind of vector. Default 4. |
digits.d |
number of digits for numerical components (as for
|
nchar.max |
maximal number of characters to show for
|
give.attr |
logical; if |
give.length |
logical; if |
wid |
the page width to be used. The default is the currently
active |
nest.lev |
current nesting level in the recursive calls to
|
indent.str |
the indentation string to use. |
Value
Nothing, for efficiency reasons. The obvious side effect is output to the terminal.
Author(s)
Martin Maechler maechler@stat.math.ethz.ch since 1990.
See Also
summary
, args
.
Examples
## The following examples show some of `str' capabilities
str(1:12)
str(ls)
str(args)#- more useful than args(args) !
data(freeny); str(freeny)
str(str)
str(.Machine, digits = 20)
str( lsfit(1:9,1:9))
str( lsfit(1:9,1:9), max =1)
op <- options(); str(op)#- save first; otherwise internal options() is used.
need.dev <- !exists(".Device") || is.null(.Device)
if(need.dev) postscript()
str(par()); if(need.dev) graphics.off()
nchar(longch <- paste(rep(letters,100), collapse=""))
str(longch)
str(longch, nchar.max = 52)
lsf.str()#- how do the functions look like which I am using?
ls.str(mode = "list")#- what are the structured objects I have defined?