split                  package:base                  R Documentation

Divide into Groups

Description:

     `split' divides the data in the vector `x' into the groups defined
     by `f'.

Usage:

     split(x, f)
     split.default(x, f)
     split.data.frame(x, f)

Arguments:

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

       f: a ``factor'' such that `factor(f)' defines the grouping, or a
          list of such factors in which case their interaction is used
          for the grouping.

Details:

     `f' is recycled as necessary and if the length of `x' is not a
     multiple of the length of `f' a warning is printed.

Value:

     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 given be `f'.  If `f' is longer than `x' some of these will
     be of zero length.

See Also:

     `cut'

Examples:

     n <- 10; nn <- 100
     g <- factor(round(n * runif(n * nn)))
     x <- rnorm(n * nn) + sqrt(as.numeric(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)

