Split Data Frame into Rows of Fixed Size

Solution 1:

I don't understand why a plyr solution is needed. split works perfectly well and even hadley himself didn't suggest a plyr/reshape2 solution when he looked at the earlier question:

split(dfrm, (0:nrow(dfrm) %/% 300)  # modulo division

Does produce a warning but since you were expecting a non-evenly divisible result you should ignore it.

Solution 2:

Something like the following may help

numBreaks <- nrow(DAT)%/%300 + 1
for( i in seq(numBreaks)){
  smallDAT <- DAT[((i-1)*300+1):(min(nrow(DAT), i*300)), ]
.....
}