我有一个示例数据框:
df <- data.frame(x = 1:112, y = runif(112))
有没有办法打印数据框列表,其中列表的第一部分包含行1:10
,第二部分11:20
等,直到结束(111:112
) ?
答案 0 :(得分:27)
您可以使用split()
和rep()
来创建分组。
n <- 10
nr <- nrow(df)
split(df, rep(1:ceiling(nr/n), each=n, length.out=nr))
答案 1 :(得分:5)
这可以通过使用tidyr / dplyr嵌套来解决
require(dplyr)
require(tidyr)
num_groups = 10
iris %>%
group_by((row_number()-1) %/% (n()/num_groups)) %>%
nest %>% pull(data)