如何将阴影置信区间添加到具有指定值的线图中

use*_*913 10 r ggplot2

我有一个小表汇总数据,其中包括四个类别的优势比,上限和下限,每个类别中有六个级别.我想使用ggplot2生成一个图表,它看起来类似于你指定lm时创建的常用图表,但我希望R只是使用我在表格中预先指定的值.我设法用错误条创建折线图,但这些重叠并使其不清楚.数据如下所示:

interval    OR  Drug    lower   upper
14  0.004   a   0.002   0.205
30  0.022   a   0.001   0.101
60  0.13    a   0.061   0.23
90  0.22    a   0.14    0.34
180 0.25    a   0.17    0.35
365 0.31    a   0.23    0.41
14  0.84    b   0.59    1.19
30  0.85    b   0.66    1.084
60  0.94    b   0.75    1.17
90  0.83    b   0.68    1.01
180 1.28    b   1.09    1.51
365 1.58    b   1.38    1.82
14  1.9 c   0.9 4.27
30  2.91    c   1.47    6.29
60  2.57    c   1.52    4.55
90  2.05    c   1.31    3.27
180 2.422   c   1.596   3.769
365 2.83    c   1.93    4.26
14  0.29    d   0.04    1.18
30  0.09    d   0.01    0.29
60  0.39    d   0.17    0.82
90  0.39    d   0.2 0.7
180 0.37    d   0.22    0.59
365 0.34    d   0.21    0.53
Run Code Online (Sandbox Code Playgroud)

我试过这个:

limits <- aes(ymax=upper, ymin=lower)
dodge <- position_dodge(width=0.9)
ggplot(data, aes(y=OR, x=days, colour=Drug)) + 
  geom_line(stat="identity") + 
  geom_errorbar(limits, position=dodge)
Run Code Online (Sandbox Code Playgroud)

并寻找合适的答案来创造一个漂亮的情节,但我很沮丧!

任何帮助非常感谢!

Rut*_*art 12

您需要以下几行:

p<-ggplot(data=data, aes(x=interval, y=OR, colour=Drug)) + geom_point() + geom_line()
p<-p+geom_ribbon(aes(ymin=data$lower, ymax=data$upper), linetype=2, alpha=0.1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述