I want to create a list of data frames from a bigger data frame based on column value. The column `"ID"` can repeat for example `1,2,3,1,2,3,4,5,1,2`. 

I want to create a list of data frames by extracting the rows until when the ID repeats over again back to 1. In this case the list should have 3 data with ID's: `1,2,3`, `1,2,3,4,5` and then `1,2`. 

Can this be done without using a for loop?