[R] {survival} number at risk テーブル付きのキャプランマイヤー曲線を描く方法

Rでは、{survival}パッケージのsurvfit()関数を使用して作成したモデル オブジェクトを引数としてplot()関数を実行することでキャプランマイヤー曲線を描画することができる。

しかしながらこの方法では論文でよく見る number at riskのテーブルを表示することができない。これを達成するには有志が作成してWeb公開して下さっている関数を利用することになる。この目的に使用できる関数は2種類ある。

パッケージ紹介

(1) ggkm(),ggkmTable() : {ggplot}パッケージ依存

なお、ggkmTable()を使用するにはスクリプトを1箇所書き換える必要があった。ggkmTable()内の theme_text を element_textで書き換えた。

Kaplan-Meier plots using ggplots2 (updated)
About 3 years ago I published some code on this blog to draw a Kaplan-Meier plot using ggplot2. Since then, ggplot2 has been updated (from 0.8.9 to 0.9.3.1) and...

(2) kmplot() : {ggplot}パッケージ非依存

びいたまブログ

実行例

以下、同一のモデル オブジェクトに対して、上記両関数をデフォルトで実行した結果を示す。

library(survival)
fit <- survfit( Surv(time, status) ~ rx, data=colon )
# ggkmTable()で描画
ggkmTable(fit)
# kmplot()で描画
kmplot(fit)

ggkmTable()の出力

ggkmTable

kmplot()の出力

kmplot

デフォルトでの描画を見比べる限り、ggkmTable()の方が凝った出力を得られる。その分、依存するパッケージが多い。kmplot()はパッケージの追加インストールが必要ない点が素晴らしい。どちらを使用するかはお好みであろう。

コメント