关于箱线图:如何在R轴上手动创建具有两个类别的箱线图

How to manually create box plots in R with two categories on x-axis

我看到了非常相似的问题,但没有一个完全符合我的尝试。
我有以下RWE:

1
2
3
4
5
6
7
8
9
10
11
12
13
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

通过计算平均误差,我可以看到置信区间重叠的程度;但是,我希望以均值的方式并排绘制这两组数据


嘿,如果要绘制95%CI,则以R为底的箱线图可能不是最好的。因为您必须使用晶须作为置信区间?您可以将geom_point()与geom_errorbar()结合使用,请参阅我使用您的值创建的示例数据集:

1
2
3
4
5
6
7
8
9
10
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))

enter image description here


boxplotbwplot需要用于绘制的实际数据。但是有一个名为bxp(在graphics中)的函数,该函数将摘要统计数据作为输入并从中生成箱形图。它期望一个参数列表,就像调用boxplot的输出一样。因此,您想同时阅读?bxp?boxplotvalue部分。列表至少应包含statsnames元素。但是,可视化您在方框图中显示的摘要数据,这很可能会使其他人感到困惑,因为您使用的数字不同于方框图通常显示的数字–有关常用的定义,请参见boxplot.statsDetails部分。

您的数据表明,您希望绘制平均值并指出95%的置信区间。这可以通过barplot加上误差线来实现。在R中有很多方法可以做到这一点–请参阅这篇文章:将误差线添加到barplot

当然,与"炸药图"(又称带有误差线的条形图)相比,正确的箱形图可提供更多的信息。因此,如果您确实有原始数据,或者可以获取构造一个原始数据所必需的摘要统计信息,则更好。