split
Basics
split
is a function with arguments x
, a vector or data.frame, and f
, a factor vector that will divide the data into smaller groups.
A useful optional argument is drop
, which indicates whether or not values not in a group should be removed. The default is drop = FALSE
.
Examples
How do I divide a vector into different groups?
Click to see solution
data <- c(5, 6, 8, 2, 1, 2, 18, 19)
groups <- c('A', 'A', 'A', 'B', 'C', 'C', 'C', 'C')
split(x = data, f = groups)
$A [1] 5 6 8 $B [1] 2 $C [1] 1 2 18 19
How do I split a data.frame into groups?
Click to see solution
df <- data.frame(Product=c('X', 'X', 'Y', 'Y', 'Y', 'Z'),
Condition=c('T', 'T', 'F', 'F', 'T', 'F'),
Score=c(303, 128, 341, 319, 54, 74),
Quality=c(38, 27, 224, 228, 32, 41))
df
Product Condition Score Quality 1 X T 303 38 2 X T 128 27 3 Y F 341 224 4 Y F 319 228 5 Y T 54 32 6 Z F 74 41
split(df, f = df$Product)
$X Product Condition Score Quality 1 X T 303 38 2 X T 128 27 $Y Product Condition Score Quality 3 Y F 341 224 4 Y F 319 228 5 Y T 54 32 $Z Product Condition Score Quality 6 Z F 74 41