カプランマイヤー曲線の書き方は?

にほんブログ村 科学ブログ 数学へ

イベント発生と発生までの時間データを解析する場合、 グラフで概観する方法がカプラン・マイヤー(Kaplan-Meier)曲線だ。

カプランマイヤー曲線を描きたい場合、 イベント発生のデータと イベント発生までもしくは観察終了までの時間のデータが必要。

イベント発生データは、イベントが起きた人は1、起きなかった人は0というデータ。

イベント発生までの時間もしくは観察終了までの時間は日でも週でも月でも年でもOK。

カプランマイヤー曲線を統計ソフトRで書くには?

サンプルデータはこちらからダウンロード可能。

まず、survivalライブラリを呼び出す。

Surv()で、イベントと時間から生存時間データと認識させる。

survfit()で、type="kaplan-meier"と指定して、 カプランマイヤー曲線データを作成する。

One-armの試験で一本のカーブを描く場合は、 survfit()中のformulaで、~のあとに1を書く。

グループ別のカーブの場合は~の後にグループ変数を書く。

実線がカプランマイヤー推定値で、点線が95%信頼区間を示す。

fun='event'はイベント発生割合を書くときに指定が必要なオプション。

fun='event'を指定しなければ、生存割合が描かれる。これが標準。

fun='event'を指定すると、累積のイベント発生割合のグラフが描かれる。

dat <- read.csv("C:/data/sample-data-KM.csv")

library(survival)

KM1 <- Surv(time=dat$days, event=dat$event)

sfit1 <- survfit(KM1~1, type="kaplan-meier")

plot(sfit1, las=1, ylim=c(0.95,1), xlab="Days", ylab="Event-free Rate")

plot(sfit1, fun='event', las=1, ylim=c(0,0.03), xlab="Days", ylab="Cummulative incidence")

 

fun='event'を指定しなければ、生存割合が描かれる。

> plot(sfit1, las=1, ylim=c(0.95,1), xlab="Days", ylab="Event-free Rate")

fun='event'を指定すると、累積イベント割合が描かれる。

> plot(sfit1, fun='event', las=1, ylim=c(0,0.03), xlab="Days", ylab="Cummulative incidence")