如何绘制带有置信区间数值数据的数字和平均值,比较每个类别的不同样本?

时间:2015-06-25 06:57:29

标签: r plot confidence-interval

我想知道是否可以使用R:

自动绘制像这样的图形

enter image description here

我必须说前一张图片是使用Inkscape手动完成的。但是,我想知道是否可以使用R自动构建这种图像。这将节省大量时间。

我有原始数据:

1   10.73   9.31    10.75   7.72    5.98    7.97
1   9.27    8.61    9.28    7.00    6.25    8.50
1   8.49    7.80    8.50    6.26    6.54    9.11
2   11.45   10.00   11.46   8.47    6.58    8.86
2   10.76   10.00   10.03   7.75    6.88    9.45
2   10.00   9.34    9.25    7.00    7.19    10.12

第一列是类别(在这种情况下,只有两个类别,1和2)。每个类别的上排是95%的上限CL,每个类别的下排是95%的CL。其他行是平均值。

在这种情况下,我有6个不同的样本,它们显示在类别列之后的6列中。

1 个答案:

答案 0 :(得分:4)

你可以在ggplot中首先重塑数据,这样每行都是一个置信区间,为你的分组数据获得合适的x轴间距:

geom_rect

然后你可以使用geom_segmentlibrary(ggplot2) ggplot(plot.dat, aes(xmin=x-.03, xmax=x+.03, ymin=lb, ymax=ub)) + geom_rect(fill=NA, color="black") + geom_segment(aes(x=x-.03, xend=x+.03, y=mid, yend=mid)) + theme_bw() + scale_x_continuous(breaks=c(1, 2)) + ylim(0, max(plot.dat$ub)) + xlab("Group") + ylab("Value") 来绘制形状:

{{1}}

enter image description here