使用 group_by 创建单独的数据框

Use group_by to create separate dataframes

我想分别 xtable 数据帧组。 dplyrgroup_by() 似乎是一个很好的方法,但我认为我需要一种方法来创建单独的数据帧。

在伪代码中:

library(dplyr)
by_cyl <- group_by(mtcars, cyl)
# does something like this exist?
grouped_dfs_list <- create_separate_dfs(by_cyl) 
xtable(grouped_dfs_list[[1]])
xtable(grouped_dfs_list[[2]])
xtable(grouped_dfs_list[[3]])

是否存在 create_separate_dfs() 之类的东西?我想理想情况下它会 return 一个数据帧列表。

尝试 split:

df = data.frame(id=rep(1:3, each=2), val=letters[1:6])
split(df, df$id)

#$`1`
#  id val
#1  1   a
#2  1   b

#$`2`
#  id val
#3  2   c
#4  2   d

#$`3`
#  id val
#5  3   e
#6  3   f