ggplot2中置信区间的子集数据

时间:2016-07-24 12:52:50

标签: r ggplot2 subset confidence-interval

我有一个这样的数据框:

ID Value Ratio
P1 W 0.512
P1 X 0.444
P1 Y 0.342
P1 Z 0.617
...
P2 W 0.400
P2 X 0.333
P2 Y 0.200
P2 Z 0.500
...
P3 W 0.250
P3 X 0.500
P3 Y 0.667
P3 Z 0.750
...

首先,我希望ggplot只绘制geom_point中X的值,x = ID,y = Ratio。

其次,我想使用完整的值列表作为X的绘制值的置信区间。最后,图应该如下所示:

1 个答案:

答案 0 :(得分:2)

以下是使用假数据的50%和95%置信区间的示例:

library(ggplot2)

# Fake data
set.seed(295)
dat = data.frame(ID=rep(paste0("P",1:3),each=20), ratio=runif(60,0,1))

ggplot(dat, aes(ID, ratio)) +
  stat_summary(fun.data=mean_cl_boot, geom="errorbar", size=0.7, 
               width=0.03, colour="red") +
  stat_summary(fun.data=mean_cl_boot, fun.args=list(conf.int=0.5), 
               geom="errorbar", size=5, width=0, color="lightblue") +
  stat_summary(fun.y=mean, geom="point", colour="red", pch="_", size=6) +
  scale_y_continuous(limits=c(0,1)) +
  theme_bw()

enter image description here