使用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次运行该函数更好的方法-因为在这种情况下,我只关心在每个图中修改/循环一个变量
编辑:在我的情况下,我需要独立的情节,因此不能使用构面或不同的美学效果。
答案 0 :(得分:1)
这是您要寻找的吗?
library(dplyr)
library(ggplot2)
for (sp in levels(iris[["Species"]])) {
plotfunction(sp)
}