

   DDiivviiddee iinnttoo GGrroouuppss

        split(x, f)

   AArrgguummeennttss::

          x: vector containing the values to be divided into
             groups.

          f: a ``factor'' such that `as.factor(f)' defines the
             grouping.

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

        `split' divides the data in the vector `x' into the
        groups defined by the factor `f'. `f' is recycled as
        necessary and if the length of `x' is not a multiple of
        the length of `f' a warning is printed.

        The value returned is a list of vectors containing the
        values for the groups.  The components of the list are
        named by the factor levels of `f'. If `f' is longer
        than `x' some of these will be of zero length.

   SSeeee AAllssoo::

        `cut'

   EExxaammpplleess::

        n <- 10; nn <- 100
        g <- factor(round(n * runif(n * nn)))
        x <- rnorm(n * nn) + sqrt(codes(g))
        xg <- split(x, g)
        boxplot(xg, col = "lavender", notch = TRUE, varwidth = TRUE)
        sapply(xg, length)
        sapply(xg, mean)

        ## Split a matrix into a list by columns
        ma <- cbind(x = 1:10, y = (-4:5)^2)
        split(ma, col(ma))

        split(1:10, 1:2)

