Добавляем строку к среднему значению данных, ggplot2

Я пытаюсь добавить простую строку для отображения медианы и среднего значения моих данных на гистограмме ggplot2.

Вот код, который у меня есть

library(ggplot2)
library(plyr)

data <- c(1,1,1,2,2,2,2,2,2,3,3,4,5)

count_data<- count(data)

mean <- mean(count_data)
med <- median(count_data)
ggplot(count_data) + 
  geom_bar(aes(x=x, y=freq), stat="identity", position="dodge") +
  geom_vline(aes(xintercept=mean)) + 
  #facet_wrap(~Year, nrow=1) + 
  theme_classic()

Я хорошо вижу свои данные, но vline не отображается. Знаете ли вы, что не так?

1 ответ

Решение

Я предполагаю, что вы хотите среднюю / среднюю частоту, учитывая, что вы создали count_data, Для этого я явно назвал freq переменная при создании mean а также med, Поэтому ниже есть обе линии на графике.

Если вы на самом деле хотите среднее / медиана dataтогда это должно быть просто mean(data), например.

data <- c(1,1,1,2,2,2,2,2,2,3,3,4,5)

count_data<- plyr::count(data)

mean <- mean(count_data$freq)
med <- median(count_data$freq)
ggplot(count_data) + 
  geom_bar(aes(x=x, y=freq), stat="identity", position="dodge") +
  geom_vline(aes(xintercept = mean)) + 
  geom_vline(aes(xintercept = med)) +
  #facet_wrap(~Year, nrow=1) + 
  theme_classic()
Другие вопросы по тегам