Код в порядке, просто когда вы вызываете ggplot внутри функции, вы возвращаете объект, и он сохраняется в списке. Вам нужно распечатать его. Например:
library(ggplot2)
library(purrr)
library(gridExtra)
create_boxplots <- function(x, y){
ggplot(data = forest_fires) +
aes_string(x = x, y = y) +
geom_boxplot() +
theme(panel.background = element_rect(fill = "white"))
}
forest_fires = data.frame(matrix(runif(1300),ncol=13))
forest_fires[,3] = factor(sample(1:12,nrow(forest_fires),replace=TRUE))
x_var_month <- names(forest_fires)[3]
y_var <- names(forest_fires)[5:12]
month_box <- map2(x_var_month, y_var, create_boxplots)
Здесь показан график для y_var[1]
month_box[[1]]
#or print(month_box[[1]])
![enter image description here](https://i.stack.imgur.com/IhAlh.png)
Чтобы получить все в 1 Сюжет сделать:
grid.arrange(grobs=month_box)
![enter image description here](https://i.stack.imgur.com/Ybt7i.png)