unlist                 package:base                 R Documentation

_F_l_a_t_t_e_n _L_i_s_t_s

_D_e_s_c_r_i_p_t_i_o_n:

     Given a list structure `x', `unlist' simplifies it to produce a
     vector which contains all the atomic components which occur in
     `x'.

_U_s_a_g_e:

     unlist(x, recursive = TRUE, use.names = TRUE)

_A_r_g_u_m_e_n_t_s:

       x: A list or vector.

recursive: logical. Should unlisting be applied to list components of
          `x'?

use.names: logical. Should names be preserved?

_D_e_t_a_i_l_s:

     If `recursive = FALSE', the function will not recurse beyond the
     first level items in `x'.

     `x' can be a vector, but then `unlist' does nothing useful, not
     even drop names.

     By default, `unlist' tries to retain the naming information
     present in `x'. If `use.names = FALSE' all naming information is
     dropped.

     Where possible the list elements are coerced to a common mode
     during the unlisting, and so the result often ends up as a
     character vector.

     A list is a (generic) vector, and the simplified vector might
     still be a list (and might be unchanged).  Non-vector elements of
     the list (for example language elements such as names, formulas
     and calls) are not coerced, and so a list containing one or more
     of these remains a list.  (The effect of unlisting an `lm' fit is
     a list which has individual residuals as components,)

_V_a_l_u_e:

     A vector of an appropriate mode to hold the list components.

_S_e_e _A_l_s_o:

     `c', `as.list'.

_E_x_a_m_p_l_e_s:

     unlist(options())
     unlist(options(), use.names=FALSE)

     l.ex <- list(a = list(1:5, LETTERS[1:5]), b = "Z", c = NA)
     unlist(l.ex, recursive = FALSE)
     unlist(l.ex, recursive = TRUE)

     l1 <- list(a="a", b=2, c=pi+2i)
     unlist(l1) # a character vector
     l2 <- list(a="a", b=as.name("b"), c=pi+2i)
     unlist(l2) # remains a list

