0

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 が表示されません。何が悪いかわかりますか?

4

1 に答える 1

2

作成したことを考えると、平均/中央値の頻度が必要だと仮定していますcount_data。これを行うために、 とをfreq作成するときに変数を明示的に呼び出しました。したがって、以下の棒グラフには両方の線があります。meanmed

実際に の平均値/中央値が必要な場合は、たとえば、 に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()
于 2018-12-27T17:22:22.087 に答える