

   EExxttrraacctt oorr RReeppllaaccee PPaarrttss ooff aann OObbjjeecctt

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

   DDeessccrriippttiioonn::

        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 relevant 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.

   SSeeee AAllssoo::

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

   EExxaammpplleess::

        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

