

   EExxttrraacctt oorr RReeppllaaccee PPaarrttss ooff aann OObbjjeecctt

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

   DDeessccrriippttiioonn::

        These operators act on vectors, matrices, dataframes
        and lists.  If one of these expressions is on the left
        hand 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 relavent 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Seeee AAllssoo::

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

   EExxaammppllees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 the third and fourth elements of y
        y$a      #the element of y named a

