R-survival-analysis
提供:Dev Guides
R-生存分析
生存分析では、特定のイベントが発生する時間を予測します。 また、故障時間分析または死亡までの時間の分析としても知られています。 たとえば、がん患者の生存日数を予測したり、機械システムが故障する時間を予測したりします。
*survival* という名前のRパッケージは、生存分析の実行に使用されます。 このパッケージには、入力データをRフォーミュラとして受け取り、分析用に選択された変数の中で生存オブジェクトを作成する関数* Surv()*が含まれています。 次に、関数* survfit()*を使用して、分析用のプロットを作成します。
パッケージをインストール
install.packages("survival")
構文
Rで生存分析を作成するための基本的な構文は次のとおりです-
Surv(time,event)
survfit(formula)
以下は、使用されるパラメータの説明です-
- time は、イベントが発生するまでのフォローアップ時間です。
- event は、予想されるイベントの発生状況を示します。
- *式*は、予測変数間の関係です。
例
上記でインストールされたサバイバルパッケージに存在する「pbc」という名前のデータセットを検討します。 肝臓の原発性胆汁性肝硬変(PBC)に罹患した人々に関する生存データポイントについて説明します。 データセットに存在する多くの列の中で、主にフィールド「時間」と「ステータス」に関心があります。 時間は、患者の登録から、肝移植を受ける患者または患者の死までの間のイベントの前の日数を表します。
# Load the library.
library("survival")
# Print first few rows.
print(head(pbc))
上記のコードを実行すると、次の結果とグラフが生成されます-
id time status trt age sex ascites hepato spiders edema bili chol
1 1 400 2 1 58.76523 f 1 1 1 1.0 14.5 261
2 2 4500 0 1 56.44627 f 0 1 1 0.0 1.1 302
3 3 1012 2 1 70.07255 m 0 0 0 0.5 1.4 176
4 4 1925 2 1 54.74059 f 0 1 1 0.5 1.8 244
5 5 1504 1 2 38.10541 f 0 1 1 0.0 3.4 279
6 6 2503 2 2 66.25873 f 0 1 0 0.0 0.8 248
albumin copper alk.phos ast trig platelet protime stage
1 2.60 156 1718.0 137.95 172 190 12.2 4
2 4.14 54 7394.8 113.52 88 221 10.6 3
3 3.48 210 516.0 96.10 55 151 12.0 4
4 2.54 64 6121.8 60.63 92 183 10.3 4
5 3.53 143 671.0 113.15 72 136 10.9 3
6 3.98 50 944.0 93.00 63 NA 11.0 3
上記のデータから、分析の時間とステータスを検討しています。
Surv()およびsurvfit()関数の適用
次に、上記のデータセットに* Surv()*関数を適用し、傾向を示すプロットを作成します。
# Load the library.
library("survival")
# Create the survival object.
survfit(Surv(pbc$time,pbc$status == 2)~1)
# Give the chart file a name.
png(file = "survival.png")
# Plot the graph.
plot(survfit(Surv(pbc$time,pbc$status == 2)~1))
# Save the file.
dev.off()
上記のコードを実行すると、次の結果とグラフが生成されます-
Call: survfit(formula = Surv(pbc$time, pbc$status == 2) ~ 1)
n events median 0.95LCL 0.95UCL
418 161 3395 3090 3853
上記のグラフの傾向は、特定の日数の終わりに生存する確率を予測するのに役立ちます。