MENU

R で IPTW 競合リスク累積発生率曲線を書く方法

IPTW で重み付けした競合リスク累積発生曲線を書く方法

>>もう統計で悩むのは終わりにしませんか? 

↑期間・数量限定で無料プレゼント中!

目次

IPTW 競合リスク累積発生率曲線の書き方の前に IPTW、競合リスク、累積発生曲線とは?

IPTW に関しては以下の過去記事を参照

競合リスクに関しては以下の過去記事を参照

累積発生率(累積イベント)曲線に関しては以下の過去記事を参照

IPTW 競合リスク累積発生率曲線の書き方

R の cmprskcoxmsm パッケージを使う方法を解説する

install.packages('cmprskcoxmsm')
library(cmprskcoxmsm)

サンプルデータは同じパッケージに含まれている follic というデータ

データセットには以下の変数が入っている

  • age 年齢
  • hgb ヘモグロビン値( g/L )
  • clinstg 臨床ステージ: 1= ステージ I 、2= ステージ II
  • ch 化学療法: Y= 実施あり、N= 実施なし
  • rt 放射線療法:全員 Y= 実施あり のため今回は使わず
  • time 最初のイベントが起きた時間
  • status イベントの理由: 1= 再燃、2= 死亡、0= 無効

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

IPTW 競合リスク累積発生率曲線の書き方 IPTW の計算

IPTW の計算には、doPS() 関数を使う

データ、治療(二値のみ。ここでは化学療法 ch)、治療のありの値、IPTW を作成するための交絡因子を引数として指定する

D <- doPS(follic, Trt='ch', Trt.name='Y',
VARS.=c('age', 'hgb', 'clinstg'))

IPTW の計算結果が含まれる、D の先頭 5 行を表示させると以下のとおりである

ps_ate が 傾向スコアで、ipw_ate_unstab が 傾向スコアの逆数をとるだけの いわゆる IPTW、ipw_ate_stab が群の割合をかけた安定化 IPTW である

IPTW で交絡因子がどのくらい似通った分布になっているかを確認するために、plot.PS() 関数を実行する

plot.PS(D)

すると以下のグラフが描かれる

交絡因子と考えた、age, hgb, clinstg の3つとも、weighted のほうが Standard Mean Difference にして -0.1 から 0.1 の範囲に収まっていて、重みづけはうまくいっている

IPTW 競合リスク累積発生率曲線の書き方 累積発生率の推定

次に、cif_est() 関数を使って、IPTW 累積発生率を推定する

データ、イベントまでの時間、イベントの変数名、イベントの値の種類、どのイベントに注目するか、重みづけの種類 を指定する

CIF <- cif_est(data=D$Data, time='time', Event.var='status',
Events=c(0,1,2),
cif.event=1,
weight.type='Unstabilized')

この推定には数分時間がかかった(CPU: Ryzen 3 3300X 4 コア 8 スレッド)

出来上がりのデータセットの先頭 5 行は以下の通りである

この中の、time, cif.control(化学療法なし), cif.expsure(化学療法あり) を使って、IPTW 累積発生率曲線を書いていく

IPTW 競合リスク累積発生率曲線 実際の描画

ggplot() 関数を使って書いていく

スクリプトは以下の通り

ggplot(CIF$cif_data, aes(x=time, y=cif.control,
color='No Chemotherapy'))+
geom_line(linewidth=1.4)+
geom_line(aes(x=time, y=cif.exposure,
color='Chemotherapy'), linewidth=1.4)+
labs(x='Time', y='IPTW Cumulative incidence functuon')+
ylim(c(0,1))

化学療法なしの曲線と、化学療法ありの曲線を geom_line() を使って、重ねて描いている

線の太さを linewidth=1.4 として、少し太くしている

labs() で、X 軸、 Y 軸それぞれにラベルを付けている

Y 軸の範囲を、0 から 1 に固定している

そうすると、以下のようなグラフが描ける

これは、IPTW ではない、累積発生率曲線と比べると、化学療法あり・なしの間隔が若干広く見える

再発や予後を左右する年齢及び臨床ステージの調整が大きな意義を持っているのではないかと想像する

まとめ

IPTW 競合リスク累積発生率曲線の書き方を R の cmprskcoxmsm パッケージを使う方法で解説した

参考になれば

参考 PDF

https://cran.r-project.org/web/packages/cmprskcoxmsm/cmprskcoxmsm.pdf

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

リサーチクエスチョン探し?データ分析?論文投稿?、、、で、もう悩まない!

第1章臨床研究ではなぜ統計が必要なのか?計画することの重要性
  • 推定ってどんなことをしているの?
  • 臨床研究を計画するってどういうこと?
  • どうにかして標本平均を母平均に近づけられないか?
第2章:研究目的をどれだけ明確にできるのかが重要
  • データさえあれば解析でどうにかなる、という考え方は間違い
  • 何を明らかにしたいのか? という研究目的が重要
  • 研究目的は4種類に分けられる
  • 統計専門家に相談する上でも研究目的とPICOを明確化しておく
第3章:p値で結果が左右される時代は終わりました
  • アメリカ統計協会(ASA)のp値に関する声明で指摘されていること
  • そうは言っても、本当に有意差がなくてもいいの…?
  • なぜ統計専門家はp値を重要視していないのか
  • 有意差がない時に「有意な傾向があった」といってもいい?
  • 統計を放置してしまうと非常にまずい
第4章:多くの人が統計を苦手にする理由
  • 残念ながら、セミナー受講だけで統計は使えません。
  • インプットだけで統計が使えない理由
  • どうやったら統計の判断力が鍛えられるか?
  • 統計は手段なので正解がないため、最適解を判断する力が必要
第5章:統計を使えるようになるために今日から何をすれば良いか?
  • 論文を読んで統計が使えるようになるための5ステップ
第6章:統計を学ぶために重要な環境
  • 統計の3つの力をバランスよく構築する環境

以下のボタンをクリックして、画面に出てくる指示に従って、必要事項を記入してください。

この記事を書いた人

統計 ER ブログ執筆者

元疫学研究者

統計解析が趣味

コメント

コメントする

目次