如何在R中的ggplot中为条形图添加误差条

mm9b1k5b  于 2023-06-27  发布在  其他
关注(0)|答案(1)|浏览(134)

我最近尝试在R中的ggplot中创建一个条形图,并在其中添加误差线。然而,当我查找geom_errorbar时,唯一有记录的方法似乎是创建另一个数据框来保存每个条形图的ymin和ymax,并使用stat ='identity'属性绘制条形图,这似乎非常麻烦。
例如,这是geom_errorbar帮助页面中出现的示例:

df <- data.frame(
  trt = factor(c(1, 1, 2, 2)),
  resp = c(1, 5, 3, 4),
  group = factor(c(1, 2, 1, 2)),
  se = c(0.1, 0.3, 0.3, 0.2)
)
df2 <- df[c(1,3),]

# Define the top and bottom of the errorbars
limits <- aes(ymax = resp + se, ymin=resp - se)

p <- ggplot(df, aes(fill=group, y=resp, x=trt))
p + geom_bar(position="dodge", stat="identity")

# Because the bars and errorbars have different widths
# we need to specify how wide the objects we are dodging are
dodge <- position_dodge(width=0.9)
p + geom_bar(position=dodge) + geom_errorbar(limits, position=dodge, width=0.25)

有没有更好的方法来做到这一点,而不必使用stat='identity' plotting?

mklgxw1f

mklgxw1f1#

使用geom_errobars有一种更简单的方法来绘制错误条,但由于某些原因,这种方法并没有很好的文档化。基本上,你只需要对geom_errorbar对象使用stat='summary'。

ggplot(data=mtcars, aes(x=gear, y=hp)) + geom_bar(stat='summary') + geom_errorbar(stat='summary', width=.2)

如果您只想使用误差条来描述来自误差条两侧的标准差(您可能想使用不同的度量,如置信区间等),那么这是正确的

相关问题