Создание блокпостов для визуализации в R с использованием функции - PullRequest
0 голосов
/ 05 марта 2020

Я написал код для получения ящиков для визуализации в R. Код выполняется, но я не получаю никаких ящиков. Не могли бы вы помочь определить, где я ошибся.

create_boxplots <- function(x, y){
  ggplot(data = forest_fires) +
  aes_string(x = x, y = y) +
  geom_boxplot() +
  theme(panel.background = element_rect(fill = "white"))
}

    x_var_month <- names(forest_fires)[3]
    y_var <- names(forest_fires)[5:12]
    month_box <- map2(x_var_month, y_var, create_boxplots)

1 Ответ

1 голос
/ 07 марта 2020

Код в порядке, просто когда вы вызываете 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

Чтобы получить все в 1 Сюжет сделать:

grid.arrange(grobs=month_box)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...