在ggplot中绘制置信区间

Dna*_*iel 4 plot r ggplot2

我想使用 ggplot 绘制以下图:

按组划分的置信区间的 GgPlot

这是我的 df 结构的一个例子(有点,不按数据比例绘制):

example.df = data.frame(mean = c(0.3,0.8,0.4,0.65,0.28,0.91,0.35,0.61,0.32,0.94,0.1,0.9,0.13,0.85,0.7,1.3), 
                            std.dev = c(0.01,0.03,0.023,0.031,0.01,0.012,0.015,0.021,0.21,0.13,0.023,0.051,0.07,0.012,0.025,0.058),
                            class = c("1","2","1","2","1","2","1","2","1","2","1","2","1","2","1","2"),
                            group = c("group1","group2","group1","group2","group1","group2","group1","group2","group1","group2","group1","group2","group1","group2","group1","group2"))
Run Code Online (Sandbox Code Playgroud)

该数据框由 16 个重复组成,每个重复具有给定的平均值和给定的标准偏差。

对于每个重复,我想绘制置信区间,图中示例中的大点是平均估计值,条形的长度是标准偏差的两倍。

另外,我想在同一行中绘制两个不同的副本,但颜色不同,按类别着色,红色是 1 类,蓝色是 2 类。

最后,我想将整个情节划分为对应于两个不同组的两个面板(在同一行中)。

我试着查看这个网站,http://www.cookbook-r.com/Graphs/Plotting_means_and_error_bars_(ggplot2)/,但无法弄清楚如何为这个结构的任何数据框自动化这个,有 X 个组(在本例中为 2),并且每组 K 次重复(在本例中为 8、4 个第 1 类和第 4 个第 2 类)。

有没有使用 ggplot 或标准 r pkg 库来做到这一点的好方法?

Did*_*rts 5

我想,您提供的样本数据帧不是建立适当的方式,因为所有的值group1class 1,并在group2所有的类2。所以我制作了新的数据框,还添加了新的列replicate,显示复制的数量(class每个复制四个(有两个值)group)。

example.df = data.frame(mean = c(0.3,0.8,0.4,0.65,0.28,0.91,0.35,0.61,0.32,0.94,0.1,
                                0.9,0.13,0.85,0.7,1.3), 
                        std.dev = c(0.01,0.03,0.023,0.031,0.01,0.012,0.015,0.021,0.21,
                                  0.13,0.023,0.051,0.07,0.012,0.025,0.058),
                        class = c("1","2","1","2","1","2","1","2","1","2","1",
                                 "2","1","2","1","2"),
                        group = rep(c("group1","group2"),each=8),
                        replicate=rep(rep(1:4,each=2),time=2))
Run Code Online (Sandbox Code Playgroud)

现在您可以使用geom_pointrange()置信区间来获取点并facet_wrap()为每个组绘制图。

ggplot(example.df,aes(factor(replicate),
               y=mean,ymin=mean-2*std.dev,ymax=mean+2*std.dev,color=factor(class)))+
  geom_pointrange()+facet_wrap(~group)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明