我需要导出数据帧的两个子集,如下所示:
df <- data.frame(factor = c("A", "A", "B", "B"), var = "value")
df
factor var
1 A value
2 A value
3 B value
4 B value
我使用group_split()
按因子划分了数据帧,但似乎无法将结果子集导出为.csv
。这些子集都应具有变量名:
dfa
factor var
1 A value
2 A value
dfb
factor var
1 B value
2 B value
感谢您的帮助!
答案 0 :(得分:3)
一个选项是split
,然后使用imap
。 split
为list
提供'factor'levels
的名称,并使用imap
,.y
将获得每个{{1} }元素,可以list
d(paste
-做同样的事情,但要进行更多检查)
str_c
答案 1 :(得分:2)
您可以使用sapply
来遍历dataframes
创建的group_split
的列表:
library(dplyr)
df %>%
group_split(factor) %>%
sapply(., function (x)
write.csv(x, file=paste0("df", unique(x$factor), ".csv")))
答案 2 :(得分:0)
你能做吗
dfa = df[df$factor == "A",]
dfb = df[df$factor == "B",]
write.csv(dfa,"Name Out A.csv")
write.csv(dfb,"Name Out B.csv")