在进行数据分析时,我们经常使用dplyr在特定的 geom
中进一步修改数据帧 . 这允许我们稍后更改ggplot的默认数据帧,并使一切仍然有效 .
template <- ggplot(db, aes(x=time, y=value)) +
geom_line(data=function(db){db %>% filter(event=="Bla")}) +
geom_ribbon(aes(ymin=low, ymax=up))
ggsave( template, "global.png" )
for(i in unique(db$simulation))
ggsave( template %+% subset(db, simulation==i), paste0(i, ".png")
是否有更好/更短的方法来指定 filter
命令,例如用一些神奇的 .
?
编辑澄清一些注释:通过使用 geom_line(data = db %>% filter(event=="Bla"))
,我稍后使用 %+%
更改默认数据帧时不会更新该层 . 我的目标是使用geom_ *的 data
参数作为函数 .
1 回答
在阅读
%>%
的文档后,我找到了解决方案:因此,最好的方式来制定上面的例子,并结合上面的建议: