Ответ 1
Создайте собственную переменную группировки.
d <- split(my_data_frame,rep(1:400,each=1000))
Вы также должны рассмотреть функцию ddply
из пакета plyr
или group_by()
из dplyr
.
отредактированный для краткости, после комментариев Хэдли.
Если вы не знаете, сколько строк находится в кадре данных, или если кадр данных может быть неравной длиной вашего желаемого размера, вы можете сделать
chunk <- 1000
n <- nrow(my_data_frame)
r <- rep(1:ceiling(n/chunk),each=chunk)[1:n]
d <- split(my_data_frame,r)
Вы также можете использовать
r <- ggplot2::cut_width(1:n,chunk,boundary=0)
Для будущих читателей методы, основанные на пакетах dplyr
и data.table
, вероятно, будут (намного) быстрее выполнять групповые операции с кадрами данных.