在
map2
我们可以指定
.y
作为
seq_along(.)
然后用它来索引“new”,因为“new”是一个长度为3的向量。
l1 <- iris %>%
split(.$Species) %>%
map2( seq_along(.), ~
ggplot(data=., aes(x=Sepal.Length, y=Sepal.Width))+
geom_point()+
labs(x=paste(round(new[.y],2),'% explained variance', sep='')))
注意:如果我们不使用
names
,然后简单地将“new”传递为
Y
(这里是
list
不使用元素)
绘图可以保存为单个PDF
library(gridExtra)
l2 <- map(l1, ggplotGrob)
ggsave(marrangeGrob(grobs = l2, nrow = 1, ncol =1), file = "plots.pdf")
或者将其保存为一个PNG,在同一页上有多个绘图
ggsave(marrangeGrob(grobs = l2, nrow = 3, ncol =1), file = "plots.png")