【发布时间】:2015-02-17 20:06:54
【问题描述】:
我想对一个大型数据框进行子集化,并为每个分组创建一个 ggplot。听起来像是 dplyr 的完美候选人,但我在调用 group_by 结果上的函数时遇到了问题。任何提示将不胜感激。
# what I want to do using base functions: "groupby" the elements in a column
# and create/save a plot for each group
for (i in levels(iris$Species)){
df = iris[iris$Species == i,]
p <- ggplot(df, aes(x=Sepal.Length, y=Sepal.Width) + geom_point())
ggsave(p, filename=paste(i,".pdf",sep=""))
}
# I'm trying to get something like this using dplyr
library(dplyr)
iris %>%
group_by(Species) %>%
do({
p <- ggplot(., aes(x=Sepal.Length, y=Sepal.Width) + geom_point())
ggsave(p, filename=paste(quote(Species),".pdf",sep=""))
})
【问题讨论】:
-
您说您“遇到了问题”。这些问题究竟是什么?如果您提供确切的问题/错误消息,会更有帮助。