在R中并排绘制几组箱形图

Iai*_*ain 10 plot r boxplot

我试图在同一个图中绘制两个箱形图,每个都在同一类别中.我可以单独生成箱形图,但是当我试图将它们放到同一个图形上时我很难过.

这是我到目前为止:

a<-matrix(nrow=100,ncol=3,data=runif(300,max=2))
b<-matrix(nrow=100,ncol=3,data=runif(300,max=1))
colnames(a)<-c("case 1","case 2","case 3")
colnames(b)<-c("case 1","case 2","case 3")
boxplot(cbind(a,b))
Run Code Online (Sandbox Code Playgroud)

该图得到6个箱图,前3个为a,然后3个为b.

是否有一个我缺少的技巧/简单选项,它将给出a和b的第一个值,然后是第二个,最后是第三个值,所有这些都以这样的方式绘制,x轴上只有三个刻度,每套一套?

任何指针非常感谢,

伊恩

TMS*_*TMS 8

boxplot(a, at = 0:2*3 + 1, xlim = c(0, 9), ylim = range(a, b), xaxt = "n")
boxplot(b, at = 0:2*3 + 2, xaxt = "n", add = TRUE)
axis(1, at = 0:2*3 + 1.5, labels = colnames(a), tick = TRUE)
Run Code Online (Sandbox Code Playgroud)

注意ylim = range(a, b)参数.绘图比例由第一个命令确定,但如果b包含超出a范围的值(不是在这种情况下,但尝试交换a和b),它们将位于绘图之外.这就是为什么你应该在这里指定ylim.

你也可以在axis()命令中设置tick = FALSE ,我认为它更好.如果您不喜欢组之间的空间,请使用0:2*2而不是0:2*3,并适当更改xlim.