在ggplot箱图中使用mean而不是中位数

时间:2015-12-30 12:26:02

标签: r ggplot2 mean median

是否可以在ggplot箱图中使用均值而不是中位数? 我问的原因是,在我的数据中,中位数= 0.0,平均值= 0.40,我对平均值感兴趣。

1 个答案:

答案 0 :(得分:4)

来自帮助?geom_boxplot

library(ggplot2)
# It's possible to draw a boxplot with your own computations if you
# use stat = "identity":
y <- rnorm(100)
df <- data.frame(
  x = 1,
  y0 = min(y),
  y25 = quantile(y, 0.25),
  y50 = median(y),   # <=== replace by mean
  y75 = quantile(y, 0.75),
  y100 = max(y)
)
ggplot(df, aes(x)) +
  geom_boxplot(
    aes(ymin = y0, lower = y25, middle = y50, upper = y75, ymax = y100),
    stat = "identity"
  )

因此,您可以预先计算方框值,使用stat="identity"并将median替换为mean