

_E_x_t_r_a_c_t _o_r _R_e_p_l_a_c_e _P_a_r_t_s _o_f _a_n _O_b_j_e_c_t

     x[i]
     x[i, j, ...]
     x[i, j, ... , drop=TRUE]
     x[[i]]
     x[[i, j, ...]]
     x$name

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

     These operators act on vectors, arrays, dataframes and
     lists.  If one of these expressions appears on the left
     side of an assignment then that part of `x' is set to
     the value of the right hand side of the assignment.

     These operators are generic. You can write methods to
     handle subsetting of specific classes of data.

     The `[[' operator requires all relevent subscripts be
     supplied.  With  the `[' operator a comma separated
     blank indicates that all entries in that dimension are
     selected.

     When operating on a list, the `[[' operator gives the
     specified element of the list while the `[' operator
     returns a list with the specified element(s) in it.

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

     `list', `array', `matrix'.

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

     x <- 1:12; m <- matrix(1:6,nr=2); li <- list(pi=pi, e = exp(1))
     x[10]                 # the tenth element of x
     m[1,]                 # the first row of matrix m
     m[1, , drop = FALSE]  # is a 1-row matrix
     li[[1]]               # the first element of list li
     y <- list(1,2,a=4,5)
     y[c(3,4)]             # a list containing elements 3 and 4 of y
     y$a                   # the element of y named a

