我有一个这样的数据框:
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的绘制值的置信区间。最后,图应该如下所示:
答案 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()