split {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)