这是对这个问题的跟进: split into multiple subset of dataframes with dplyr:group_by?。
可重复的例子:
test <- data.frame(a = c(1,1,1,2,2,2,3,3,3), b = c(1:9))
我对如何从以下输出中保存数据帧感兴趣:
test %>%
group_by(a) %>%
nest() %>%
select(data) %>%
unlist(recursive = F)
作为环境中的独立数据帧?所需的输出如下:
data1 <- data.frame(a = c(1,1,1), b = c(1:3))
data2 <- data.frame(a = c(2,2,2), b = c(4:6))
data3 <- data.frame(a = c(3,3,3), b = c(7:9))
有许多组,因此需要自动化:data1,data2,data3,... data(n)数据帧。
答案 0 :(得分:1)
如果您希望自动创建数据框名称,可以尝试这样的方法。
test <- data.frame(a = c(1,1,1,2,2,2,3,3,3), b = c(1:9))
test
n <- length(unique(test$a))
eval(parse(text = paste0("data", seq(1:n), " <- ", split(test, test$a))))
eval(parse(text = paste0("data", seq(1:n), " <- as.data.frame(data", seq(1:3), ")")))