[R] 生存曲線のX軸(時間軸)の尺度を週、月、年単位などに変更する方法

背景

[R]のsurvival::plot.survfit()関数を使用して生存曲線を描画すると、デフォルトではX軸(時間軸)の単位はデータベースの単位となる。例えば日単位でデータベースを作っていれば、カプランマイヤー曲線のX軸も日単位ということである。

場合によっては、これを月や年などの単位に変更したいことがある(むしろ論文の慣習的にはその方が多いだろう)。

以下にその方法を2つ示す。1つ目はsurvival::plot.survfit()関数を使用する方法、2つ目はkmplot()関数を使用する方法である。

kmplot()については下の記事を参照して下さい。

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

方法1. survival::plot.survfit()関数を使用する方法

以下のスクリプトは、X軸を年単位とする例である。

# xscaleというパラメータを使用することでX軸のスケールを変更できる
# 1年の場合 365.25日とすることがRのヘルプでは推奨されている
plot(pfs_fit,xscale=365.25)

以下に出力例を示す。

os_year

方法2. kmplot()関数を使用する方法

以下のスクリプトは、X軸を月単位とし、5ヶ月間隔でラベルを出力する例である。

X.AT <- seq(0,15)*150 # Number at riskの出力間隔を5ヶ月(=150日)に設定
X.LAB <- X.AT / 30    # X軸の尺度を月単位にする
kmplot(pfs_fit,xaxis.at=X.AT,xaxis.lab=X.LAB,lty.ci=2,xlab='観察期間(月)', ylab='無増悪生存割合')
# pfs_fitはSuvr()で作成した生存時間データのオブジェクト

以下に出力例を示す。

pfs_month