1

リスク推定値と95%信頼区間を表示するために、3つの列をプロットする小さなデータフレームがあります。現在、これらの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()

ポイントは推定値であり、ダッシュは信頼区間です。診断ごとにこれらの3つのポイントを結び付けたいと思います。R表記を見てきましたが、ここでは値の代わりにベクトルを使用しているので、どのxy「座標」を接続するセグメントを描画するかをRに伝える方法がわかりません。誰かがコードのセグメント行を書くのを手伝ってもらえますか?ありがとうございました

4

1 に答える 1

1

OK、基本的に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 に答える