В map2
мы можем указать .y
как seq_along(.)
и затем использовать его для индексации «нового», потому что «новый» - это вектор длины 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")