如何在ggplot2中的变量中遍历值/因数?

时间:2018-10-16 10:13:54

标签: r for-loop ggplot2

使用iris数据集。

示例代码和功能:

plotfunction <- function(whatspecies){

baz <- iris %>% filter(Species == whatspecies) %>% 
  ggplot(aes(Petal.Width, Petal.Length)) +
  geom_point() +
  labs(title = whatspecies)

ggsave(filename = paste0(whatspecies,".png"), 
       path = getwd())

return(baz)

}

我想做的是在Species变量上循环以在我的工作目录中创建3个图。在我的真实数据帧中,我还有更多因素,所以我想知道是否有比n次运行该函数更好的方法-因为在这种情况下,我只关心在每个图中修改/循环一个变量

编辑:在我的情况下,我需要独立的情节,因此不能使用构面或不同的美学效果。

1 个答案:

答案 0 :(得分:1)

这是您要寻找的吗?

library(dplyr)
library(ggplot2)

for (sp in levels(iris[["Species"]])) {
  plotfunction(sp)
}