Skip to Content

Split data.frame by value

how can I split the following data.frame

df <- data.frame(var1 = c("a", 1, 2, 3, "a", 1, 2, 3, 4, 5, 6, "a", 1, 2), var2 = 1:14)

into lists of / groups of

a 1
1 2
2 3
3 4
 
a 5
1 6
2 7
3 8
4 9
5 10
6 11
 
a 12
1 13
2 14

So basically, value "a" in column 1 is the tag / identifier I want to split the data frame on. I know about the split function but that means I have to add another column and since, as can be seen from my example, the size of the groups can vary I do not know how to automatically create such a dummy column to fit my needs.

Any ideas on that?

Cheers,

Sven