MENU

R で多重代入法を実行した後に Fine-Gray 回帰を行う方法

多重代入法で欠測値を補完し、Fine-Gray 回帰 を実施する方法

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

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

目次

サンプルデータ

競合リスクを含むイベント変数、時間変数、着目したい変数、交絡因子を以下のとおりとする

  • 競合リスクを含むイベント変数:CompRisk
  • 時間変数:DaysFPS
  • 着目したい変数:PS34
  • 交絡因子:Age, CR12

欠測値の数を確認すると、PS34 に 1 例だけ欠測値があることがわかる

Fine-Gray 回帰 を実施した結果

EZR で、以下のように設定して、Fine-Gray 回帰を実行する

実行した結果はこちら

赤枠部分が、結果のメインである

黄色ハイライトのように、1 cases omitted due to missing values とあって、欠損値のために 1 例除外しているとある

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

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

欠測値を多重代入する方法

R の mice パッケージの mice() 関数を使って、欠測値を多重代入する

install.packages('mice') # まだインストールしていない場合
library(mice)

データセットの名前を dat とする

多重代入したデータセットの名前は imp とする

再現性を持たせるために、seed = 123 とセットする

dat <- ALL_RIC
imp <- mice(dat, seed=123)

imp の中は、5 の多重代入したデータセットになっている

pmm という方法で PS34 が多重代入されているのがわかる

PS34 の欠測値の部分(症例番号 21 )に代入された値は、4 つのデータセットは 0 で、1 つのデータセットだけ 1 であることがわかる

多重代入したデータで Fine-Gray 回帰を行う方法

多重代入したデータで Fine-Gray 回帰を行うために、adjustedCurves パッケージを使う

FGR_MI() 関数を使うために、prodlim パッケージの Hist() 関数も使えるようにする

install.packages( c('adjustedCurves', 'prodlim') ) # まだインストールしていない場合
library(adjustedCurves)
library(prodlim)

FGR_MI() 関数で解析する

イベント変数は、値が 0, 1, 2 となっていて、1 が解析したいイベント( cause=1 )である

model.fgr <- FGR_MI(mids=imp, formula=Hist(DaysPFS, CompRisk) ~ Age + CR12 + PS34, cause=1)
model.fgr

結果を表示すると 1 から 5 まで 5 つの解析結果が格納されているのがわかる

1 と 2 の先頭まで

5 の結果

結果を統合する方法

結果を統合するために平均と分散を取り出す

ests に平均値、vars に分散を格納する

ests <- list()
vars <- list()
for (i in 1:5) {
ests[[i]] <- model.fgr$analyses[[i]]$crrFit$coef
vars[[i]] <- diag(model.fgr$analyses[[i]]$crrFit$var)
}
ests
vars

5 つの解析結果を並べてみると、4 つ目のデータセットだけ結果が異なることがわかる

これは上記で、4 つ目のデータセットだけ PS34 に 1 が代入されていたことと連動している

次に、mitools パッケージの MIcombine() 関数で、結果を統合する

summary() できれいに出力し、exp() で対数から真数に変換している

MIcombine(ests, vars) # 結果の統合
summary(MIcombine(ests, vars)) # 統合した結果のきれいな出力
summarized <- summary(MIcombine(ests, vars)) # 出力をいったんオブジェクトに
summarized[c(1,3,4)] # 点推定値と信頼区間下限・上限のみ抜き出し
exp(summarized[c(1,3,4)]) # 点推定値と信頼区間の真数への変換

解析結果は以下の通り

もとの解析結果と比べると、少しだけ数値が異なるのがわかる

まとめ

R で多重代入法で欠測値を代入して、Fine-Gray 回帰を行う方法を解説した

参考になれば

参考サイト

FGR_MI: Fine & Gray Model with Multiple Imputation in RobinDenz1/adjustedCurves: Confounder-Adjusted Survival Curves and Cumulative Incidence Functions

Imputation of covariates for Fine & Gray cumulative incidence modelling with competing risks – The Stats Geek

おすすめ書籍

EZR公式マニュアル

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

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

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

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

この記事を書いた人

統計 ER ブログ執筆者

元疫学研究者

統計解析が趣味

コメント

コメントする

目次