str                   package:base                   R Documentation

_C_o_m_p_a_c_t_l_y _D_i_s_p_l_a_y _t_h_e _S_t_r_u_c_t_u_r_e _o_f _a_n _A_r_b_i_t_r_a_r_y _R _O_b_j_e_c_t

_D_e_s_c_r_i_p_t_i_o_n:

     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.

_U_s_a_g_e:

     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(...)

_A_r_g_u_m_e_n_t_s:

  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 `print').

nchar.max: maximal number of characters to show for `character'
          strings.  Longer strings are truncated, see `longch' example
          below.

give.attr: logical; if `TRUE' (default), show attributes as sub
          structures.

give.length: logical; if `TRUE' (default), indicate length (as
          `[1:...]').

     wid: the page width to be used.  The default is the currently
          active `options("width")'.

nest.lev: current nesting level in the recursive calls to `str'.

indent.str: the indentation string to use.

_V_a_l_u_e:

     Nothing, for efficiency reasons. The obvious side effect is output
     to the terminal.

_A_u_t_h_o_r(_s):

     Martin Maechler maechler@stat.math.ethz.ch since 1990.

_S_e_e _A_l_s_o:

     `summary', `args'.

_E_x_a_m_p_l_e_s:

     ## 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?

