在数据的平均值处添加一条线,ggplot2

Adding a line at the mean of the data, 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 没有显示。你知道哪里出了问题吗?

我假设你想要 mean/median 频率,因为你已经创建了 count_data。为此,我在创建 meanmed 时明确调用了 freq 变量。因此,下面的条形图上有两条线。

如果您确实想要 data 的 mean/median,那么它应该只是 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()