1

我有一个小数据框,我从中绘制 3 列以显示风险估计和 95% 置信区间。现在我将这 3 组向量显示为点,但我想使用“段”连接它们。

这是正在绘制的数据框的示例:

                      Diagnosis  age.group X..change X..lower X..upper
1                    Dysrythmia All adults        16        0       35
2                 Heart failure All adults        -4      -20       14
3                        Asthma All adults        10       -5       28

这是我的情节代码:

plot(dt[,4], pch="-", ylim=c(-20, 50), axes=F, ann=F, cex=1.5)
abline(h=0, col=1, lty=2)
points(dt[,3], pch=16, col="black", bg="black" )
points(dt[,5], pch="-", cex=1.5)
axis(1, at=1:10, lab=dt[,1], las=3, lwd=0, cex.axis=0.7, pos=-22)
axis(2, at=5*-20:54, las=1, cex.axis=0.7, cex.lab=0.7, col=1)
title(main="Risk estimates: All Adults", col.main="black", font.main=1)
title(ylab="Increase in risk (%)", col.lab=rgb(0,0.5,0))
box()

点是估计值,破折号是置信区间。我想为每个诊断连接这三个点。我查看了 R 表示法,但它并不能帮助我弄清楚如何告诉 R 我想绘制连接的线段的哪些 xy“坐标”,因为我在这里使用了向量而不是值?谁能帮忙写一段代码?谢谢

4

1 回答 1

1

好的,所以你基本上想要绘制 CI。箭头命令可能更适合您想要的。这是一个简短的示例,适用于较低 CI 的内容。

plot(dt[,3], pch="•", ylim=c(-20, 50), axes=F, ann=F, cex=1.5, bty = 'o')
abline(h=0, col=1, lty=2)
arrows(1:3, dt[,3], 1:3, dt[,4], angle = 90, length = 0.08)

因此,您可以省略额外的点命令和任何新的段命令。这一切都更加简洁。

但是,如果您坚持在您拥有的内容中添加细分,那只是......

segments(1:3, dt[,3], 1:3, dt[,5])
segments(1:3, dt[,3], 1:3, dt[,4])
于 2012-05-09T16:58:24.093 回答