R を使った Cox 比例ハザードモデル分析
UB3/statistics/survival/cox_hazard_r
このページの最終更新日: 2024/09/30広告
データセットの説明
R を使った log-rank 検定 で使用した veteran データセットを用いる。これは肺がん治療のデータを示したデータセットで、以下のような項目を含んでいる (2)。本当は 137 行あるが、1 から 10 行目のみ記載する。
- trt: 治療の種類。1 が standard (1-69 行)、2 が test (70-137 行)。
- celltype: がん細胞の種類。
- time: 生存時間。
- status: 1 が打ち切りなし、0 が打ち切り。
- karno: Karnofsky performance score
- diagtime: 診断されてから clinical trial までの時間
- age: 年齢
- prior: Clinical trial 前の治療の有無。0 が治療なし、10 が治療あり。
まずは生存曲線を作ってみる。trt の有無で 2 群に分けると、以下のようになる。Log-rank 検定では p = 0.9 となり、治療の有意な効果はみられない。
治療の効果を解析
Treatment の効果を Cox ハザードモデルで解析。coxph 関数を使用。syntax は log-rank 検定に極めてよく似ている。~ のあとの変数指定で factor を使っているのは、おそらくカテゴリー変数としてモデルに入れるため。
結果は以下のようになる。
- treatment 1 に対して、treatment 2 のハザード比は exp(coef) の部分で、1.018。1 に近く、2 つの治療で効果はほとんど違わないということになる。
- ハザード比の 95% 信頼区間 は 0.7144 - 1.45 である。
P 値も計算される。0.92 と非常に大きい。
factor をつけないで coxph(Surv(time, status) ~ trt と実行すると、結果は以下のようになる。値は同じ。もとのデータセットで、treatment はカテゴリーになっているのかもしれない。
最後の cox.zph は、比例ハザード性を確認している。Cox 比例ハザードモデルは、ハザード比が観測期間全体にわたって一定であると仮定している。P が 0.05 よりも小さかった場合には、ハザード比が有意に異なるということなので、交互作用項の導入を検討する (2)。
coxph 関数のアウトプット
coef がモデルの coefficient,
細胞のタイプの効果を解析
次に、cell type でグループ分けしてみる。4 つのタイプがあり、それぞれで生存パターンに違いがありそうである。
同じように、coxph で解析。
どうも、最初の要素 squamous に対する比が表示されるようである。smallcell と adeno で、ハザード比が有意に高いという結果が得られる。
広告
細胞のタイプを調整し、治療の効果を解析
複数要因を含めるには、回帰分析のように + を用いる。
依然として有意差はないものの、treatment のハザード比が 1.219 (P = 0.315) となっており、調整がない場合の 1.018、P = 0.92 からかなり変化していることがわかる。
広告
References
佐藤弘樹、市川度. 2013.
生存時間解析 について平易に書いた数少ない解説書。 統計のなかでも、生存時間解析はそれだけで 1 冊の本になるほど複雑なわりに、ANOVAや t 検定などと違い使用頻度が低いため、とっつきにくい検定である。 この本では、とくに |
- R で生存時間分析を行う. Link: Last access 2018/09/20.
- Veterans' Administration Lung Cancer study. Link: Last access 2021/07/05.
コメント欄
サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。