当您使用barplot2()
库中的函数时gplots
,将给出使用这种方法的示例。
首先,按照barplot2()
函数帮助文件中的说明制作条形图。ci.l
并且ci.u
是假置信区间值。条形图应保存为对象。
hh <- t(VADeaths)[1:2, 5:1]
mybarcol <- "gray20"
ci.l <- hh * 0.85
ci.u <- hh * 1.15
mp <- barplot2(hh, beside = TRUE,
col = c("grey12", "grey82"),
legend = colnames(VADeaths)[1:2], ylim = c(0, 100),
cex.names = 1.5, plot.ci = TRUE, ci.l = ci.l, ci.u = ci.u)
如果您查看 object mp
,它包含所有条形的 x 坐标。
mp
[,1] [,2] [,3] [,4] [,5]
[1,] 1.5 4.5 7.5 10.5 13.5
[2,] 2.5 5.5 8.5 11.5 14.5
现在我使用上置信区间值来计算段的 y 值的坐标。段将从比置信区间结束高 1 的位置开始。y.cord
包含四行 - 第一行和第二行对应于第一条,其他两行对应于第二条。最高 y 值是根据每个条形对的置信区间的最大值计算得出的。
x.cord
值只是重复mp
对象中的相同值,每次 2 次。
y.cord<-rbind(c(ci.u[1,]+1),c(apply(ci.u,2,max)+5),
c(apply(ci.u,2,max)+5),c(ci.u[2,]+1))
x.cord<-apply(mp,2,function(x) rep(x,each=2))
使用 barplot 后,sapply()
使用计算的坐标制作五个线段(因为这次有 5 个组)。
sapply(1:5,function(x) lines(x.cord[,x],y.cord[,x]))
要在段上方绘制文本,请计算 x 和 y 坐标,其中 x 是两个条 x 值的中点,y 值是根据每个条对的置信区间的最大值加上一些常数计算得出的。然后使用函数text()
添加信息。
x.text<-colMeans(mp)
y.text<-apply(ci.u,2,max)+7
text(c("*","**","***","NS","***"),x=x.text,y=y.text)