投稿

11月, 2026の投稿を表示しています

区間打ち切りデータのコックス回帰

駒場時代からの友人であるA君からRで区間打ち切りのある生存時間データをコックス回帰する方法について相談を受けたので、少し調べてみた。 彼は 区間打ち切りデータ(interval censored data)を解析する(icenRegパッケージ)[R] (ねこすたっと)を参照し、 icenRegパッケージ を使おうとしてエラーに見舞われたとのこと。 とりあえず手元で動くかどうかを試してみたところ(ただしtidyverseは嫌いなので、tidyverseを使わない書き方[d <- IR_diabetes; d$left <- ifelse(d$left < quantile(d$left, 0.1), 0, d$left); d$right <- ifelse(d$right > quantile(d$right, 0.9), Inf, d$right);]でデータフレームdを作成したが)、core i9マシンだというのにかなり時間は掛かったものの、無事に動いたことから、たぶんパッケージインストール時に依存パッケージを自動的にインストールするdep=TRUEオプションを付けなかったのではないかと思われたので、そのようにアドバイスした。 区間打ち切りデータへのコックス回帰は、Rに標準実装されているsurvivalパッケージのcoxph()ではできないのだが(注:カプラン=マイヤ法で生存時間の中央値を推定するsurvfit()や、パラメトリックモデルを当てはめるsurvreg()は区間打ち切りデータも使える)、cranを探ると、何もicenRegに限らず、他にもいくつかパッケージがある。 ICsurvパッケージ や ICcalibパッケージ ( 論文 も出ている)、 intccrパッケージ が見つかった。それぞれ癖があって既存データに簡単に使うことは難しかったが、もしパッケージ依存以外の理由でicenRegパッケージが動作しないなら、これらを試してみるのも良いかもしれない。 あと、 SmoothHazardパッケージ も使えるかと思ったが、これは加速モデルのようだった。また、元のコックス回帰と違いがあるのかもしれないが、 区間打ち切りデータのためのCox-Aalenモデル も、既にcranからは除去されてしまっているが、 coxinterval...