我看到了非常相似的问题,但没有一个完全符合我的尝试。 我有以下RWE:
n1 = 177
avg1 = 7.508192
sd1 = 5.439677
error1 <- qnorm(.975) * sd1/sqrt(n1)
avg1 - error1
avg1 + error1
n2 = 93
avg2 = 6.713011
sd2 = 3.22479
error2 <- qnorm(.975) * sd2/sqrt(n2)
avg2 - error2
avg2 + error2
通过计算平均值+/-误差,我可以看到置信区间重叠的程度或不重叠的程度;但是,我希望将这两组数据及其均值和置信区间并排绘制,以显示精美的图形。我希望能够将x轴标记为“ data1”和“ data2”。我浏览了箱线图功能,当我不使用数据本身而是手动生成置信区间时,似乎无法弄清楚该如何做。我不确定boxplot是否适合使用,但是它在我所寻找的范围内。在我这方面有什么建议/可以寻找的地方/简单的疏忽吗?
答案 0 :(得分:1)
boxplot
和bwplot
需要用于绘制的实际数据。但是有一个名为bxp
(在graphics
中的函数),该函数将摘要统计数据作为输入并从中生成箱形图。它期望一个参数列表,就像调用boxplot
的输出一样。因此,您想同时阅读?bxp
的{{1}}和value
部分。您的列表至少需要包含?boxplot
和stats
元素。但是,可视化您在方框图中显示的上面的摘要数据,这很可能会使其他人感到困惑,因为您使用的数字不同于方框图通常显示的数字–请参见names
的{{1}}部分常用的定义。
您的数据表明,您希望绘制平均值并指出95%的置信区间。可以使用Details
加上误差线来实现。在R中有很多方法可以做到这一点–请参阅这篇文章:Add error bars to a barplot
当然,与“炸药图”(又称带有误差线的条形图)相比,正确的箱形图可提供更多的信息。因此,如果您确实拥有原始数据,或者可以获取构造一个更可取的必要摘要统计信息。
答案 1 :(得分:1)
嘿,如果要绘制95%CI,以R为底的箱线图可能不是最好的。因为您必须使用晶须作为置信区间?您可以将geom_point()与geom_errorbar()结合使用,请参阅我使用您的值创建的示例数据集:
x = data.frame(
x=rep(c("a","b"),each=2),
data=rep(c("A","B"),2),
avg=rep(c(avg1,avg2),2),
lower=rep(c(avg1 - error1,avg2 - error2),2),
upper=rep(c(avg1 + error1,avg2 + error2),2)
)
ggplot(x,aes(x=x,y=avg,col=data,ymin=lower,ymax=upper)) +
geom_point(position=position_dodge(width=0.1)) +
geom_errorbar(width=0.1,position=position_dodge(width=0.1))