我有一个小数据框,我正在绘制3列,以显示风险估计值和95%置信区间。现在我将这3组矢量显示为点,但我想使用" segment"来连接它们。
以下是正在绘制的数据框的示例:
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"坐标"我想画段连接,因为我在这里使用向量而不是值?任何人都可以帮助编写段代码行吗?谢谢
答案 0 :(得分:1)
好的,所以你基本上想要绘制CI。 arrows命令可能更适合你想要的东西。这是一个简短的例子,它适用于较低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])