Как визуализировать категориальные переменные, используя ggplot2? - PullRequest
0 голосов
/ 27 сентября 2018

Я выполнил приведенный ниже код для визуализации моей категориальной переменной:

p3 <- ggplot(combi %>% 
               group_by(Item_Type) %>% 
               summary(count = n())) + 
  geom_bar(aes(Item_Fat_Content, count), stat = "Identity", fill = "coral1") + 
  xlab("") + 
  geom_label(aes(Item_Fat_Content, count, label = count), vjust = 0.5 ) + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  ggtitle("Item Type")

Это вызвало у меня ошибку, в которой было указано:

Ошибка: data должен быть фреймом данных,или другой объект, принудительно задаваемый fortify(), а не объектом S3 с таблицей классов

1 Ответ

0 голосов
/ 29 сентября 2018

Как прокомментировал Погибас:

  1. заменить summary на summarize.Пожалуйста, посмотрите код ниже (с combi имитацией фрейма данных);
  2. проверьте данные, которые вы предоставляете в эстетику (я поставил left_join, чтобы сделать код исполняемым).

Пожалуйста, смотрите код ниже:

library(ggplot2)
library(dplyr)
n <- 10
m <- 3
combi <- data.frame(
  Item_Type = sample(letters[1:m], n, replace = TRUE),
  Item_Fat_Content = abs(rnorm(n))
)

ggplot(combi %>% 
               group_by(Item_Type) %>% 
               summarise(count = n()) %>% left_join(combi)) + 
  geom_bar(aes(Item_Fat_Content, count), stat = "Identity", fill = "coral1") + 
  xlab("") + 
  geom_label(aes(Item_Fat_Content, count, label = count), vjust = 0.5 ) + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  ggtitle("Item Type")

Выход: graphics

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