2017-07-30 4 views
2

私は生存パッケージで生存関数をプロットしています。すべてうまく動作しますが、どちらのカーブがどのようなものか分かりますか?そして私はそれを凡例にどのように追加できますか?サバイバル関数プロットではどの曲線が使われていますか?

url <- "http://socserv.mcmaster.ca/jfox/Books/Companion/data/Rossi.txt" 
    Rossi <- read.table(url, header=TRUE)[,c(1:10)] 
    km <- survfit(Surv(week, arrest)~race, data=Rossi) 
    plot(km, lty=c(1 ,2)) 

答えて

2

カーブはどのようにわかりますか?

str()を使用すると、どの要素がkmにあるかを確認できます。 km$strataには、48と10の要素があります。これは、キロの$ survの最初の48の項目と最後の10項目の減少パターンと一致

km$surv[1:48] 
km$surv[49:58] 

だからprint()でオーダーのヒントに加えて、この特定のデータセットで私たちも確認することができ、最初の48要素はrace=black

に属しています。どのように凡例に追加できますか?

他のモデル出力と異なり、kmは簡単にdata.frameに変換されません。しかし、要素を自ら抽出してdata.frameを作成し、それを自分でプロットすることができます。

まず、地層を参照する要因作成:48人の黒人と10人の他人

race <- as.factor(c(rep("black", 48), rep("other", 10))) 
df <- data.frame(surv = km$surv, race = race, time = km$time) 

次の我々は(ggplot2を使用して、私の場合には)いつものようにそれをプロットすることができます。

library(ggplot2) 
ggplot(data = df, aes(x = time, y = surv)) + 
    geom_point(aes(colour = race)) + 
    geom_line(aes(colour = race)) + 
    theme_bw() 

survival by race

2

残念ながら、plot.survival機能は、カーブを標識するための素晴らしいオプションを提供していないようです。ドキュメントには、曲線がprintに表示されている順番にプロットされているので、線の種類や色を変更するときにどの曲線が当てはまるかを知ることができます。しかし、それは共有するのにはあまり役に立ちません。

もう1つの方法は、rmssurvplot関数を使用することです。この関数はカーブにラベルを付けます。あなたのサンプルとCIプロットがオフになっている様子は次のとおりです。 (あなたはその結果、それは読むことができる機能で見積もりをやり直すために持っているので、survplotsurvfitオブジェクトを取らないことに注意してください - 。ここでは、npsurv)を

library(rms) 
survplot(npsurv(Surv(week, arrest)~race, data=Rossi), conf = "none") 

enter image description here

チェックプロット内のラベルを凡例に置き換えるなど、チャートの他の側面を微調整するためのドキュメント。

関連する問題