簡體   English   中英

如何使用 R 中的 ggplot2 繪制均值的誤差線?

[英]How to plot error bars for a mean with ggplot2 in R?

我已經將我的數據繪制為散點圖,並有一個基准(基本模型)和一個理論值(AASHTO),我用不同的顏色點來表示。 我使用以下代碼,我的圖表如下所示:

library(ggplot2)
ggplot(data = plotshear, aes(x = Shear, y = LLDF)) + geom_jitter(aes(colour = Source))

# plotshear data:

      Source     Shear        LLDF
# 1   Baseline   EXT.Single   0.7627894
# 2   Samples    EXT.Single   0.7130376
# 3   Baseline   EXT.Multi    0.8521338
# 4   Samples    EXT.Multi    0.7975502
# 5   Baseline   INT.Single   0.5706947
# 6   Samples    INT.Single   0.5462812
# 7   Baseline   INT.Multi    0.7291602
# 8   Samples    INT.Multi    0.7331171
# 9   AASHTO     EXT.Multi    0.8250000
# 10  AASHTO     INT.Single   0.7200000
# 11  AASHTO     INT.Multi    0.8840000

我實際上需要一個誤差線來表示看起來像這樣的平均值:

當前情節

當前情節

需要情節

需要情節

這是一個解決方案,可從您的數據中重現“所需的繪圖”圖:

library(ggplot2)

# plotshear data:
plotshear <- data.frame(Source = c(rep(c("Baseline", "Samples"), 4), rep("AASHTO", 3)),
                        Shear = c(rep("EXT.Single", 2), rep("EXT.Multi", 2), rep("INT.Single", 2),
                                  rep("INT.Multi", 3), "INT.Single", "INT.Multi"),
                        LLDF = c(0.7627894, 0.7130376, 0.8521338, 0.7975502, 0.5706947,
                                 0.5462812, 0.7291602, 0.7331171, 0.8250000, 0.7200000, 0.8840000))

#without error bars
ggplot(data = plotshear, aes(x = Shear, y = LLDF)) +
  geom_boxplot() +
  geom_jitter(aes(color = Source)) +
  stat_summary(fun.y=mean, geom="point", shape=23, size=4) +
  stat_summary(fun.y=mean, geom="line", aes(group=1)) 

#with error bars
ggplot(data = plotshear, aes(x = Shear, y = LLDF)) +
  geom_boxplot() +
  geom_jitter(aes(color = Source)) +
  stat_summary(fun.y=mean, geom="point", shape=23, size=4) +
  stat_summary(fun.y=mean, geom="line", aes(group=1)) +
  stat_summary(fun.data = mean_se, geom = "errorbar")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM