根据另一个变量的观察值绘制一个带有变量平均值的 ggplot 的直方图

Plot a histogram with ggplot of mean of a variable in function of another varable's observation

我将举一个简单的例子来说明我的问题。

dura <- c(158, 21, 451, 157, 963, 485, 211, 154, 1454, 475)
tel <- c("nokia", "apple", "samsung", "lg", "samsung", "lg", 
         "apple", "motorola", "samsung", "huawei")
color <- c("blue", "orange", "white", "green", "black", "blue", 
          "yellow", "green", "red", NA)
df <- data.frame(dura, tel, color)

例如,我想将 eatch tel 的持续时间平均值作为直方图? 不知道是要用apply函数还是ggplot直接做?

t1 <- tapply(df$dura,df$tel, mean)
barplot(t1, horiz=F,main="Durée selon la marque de téléphone", 
        ylab = "Durée moyenne (ms)", cex.names = 0.6, las = 2, col =    "orange")

ggplot 可以吗?

这包括计算 ggplot2 代码中的平均值:

library(ggplot2)
ggplot(df, aes(x = tel, y = dura)) +
  stat_summary(fun.y = mean, geom = "bar", fill = "orange") +
  theme_bw()

阅读 ggplot2 教程以了解更多信息。