ggplot2 : Plot mean with geom_bar

Cauchy picture Cauchy · May 12, 2015 · Viewed 64.4k times · Source

I have the following data frame:

test2 <- data.frame(groups = c(rep("group1",4), rep("group2",4)), 
    X2 = c(rnorm(4), rnorm(4)) , 
    label = c(rep(1,2),rep(2,2),rep(1,2),rep(2,2)))

and I am plotting the bar graphs for each label per group using:

ggplot(test2, aes(label, X2, fill=as.factor(groups))) + 
    geom_bar(position="dodge", stat="identity")

enter image description here

However, I am cannot seem to be able to find a stat="mean" so I can plot the means on each bar graph instead of the identity.

Thanks for any help.

Answer

uhlitz picture uhlitz · May 12, 2015

simply use stat = "summary" and fun.y = "mean"

ggplot(test2) + 
  geom_bar(aes(label, X2, fill = as.factor(groups)), 
           position = "dodge", stat = "summary", fun.y = "mean")

enter image description here