臨床研究の内容なので掲示板の趣旨とは少しずれるかも知れないのですが・・・
これまでEZRを使って臨床データの解析をしてきたのですが、今回multiple imputationを使ったデータ解析が必要になり、急遽Rに手を出し始めました。
miceというパッケージを使ってmultiple imputationを実施し、以下の様にcox比例ハザード解析を行う、というところまではどうにかたどり着いたのですが、
df_miced <- mice(subset (original_data, select = c(Age, Sex, ・・・), m = 20, maxit = 50, method = "pmm", seed = 123456))
imp <- with(data = df_miced, coxph(Surv(Time.to.death, Death==1)~Age + Sex + ・・・, method="breslow"))
miced_pool <- pool(imp)
Cox.pool<- summary(miced_pool)
ここで表示される結果について、以下の3点お聞きできればと思います。
@ 代入データセット数をm=20に指定したのですが、できあがったデータセットをみるとどうやらm=5で処理されているようです。20の所に別の数字を入れても、m=5で結果が返ってきてしまうのですが、何か理由があるのでしょうか?
A Cox回帰の結果のところで、
term estimate std.error statistic df p.value
1 変数1 -0.59513944 0.12295825 -4.840175 80.95212 6.114659e-06
2 変数2 0.04677282 0.01289991 3.625826 92.87740 4.701927e-04
3 変数3 0.02113984 0.01224786 1.726002 82.02069 8.811241e-02
4 変数4 -0.16816287 0.05057106 -3.325279 82.08299 1.322287e-03
となったのですが、各変数をHRで示した数値(e^estimate)と、その95%CIを自動で導くにはどうしたらよいでしょうか?(一個一個手計算すれば出るのはわかるのですが、どうにか自動で出せないものでしょうか?)
B 今回作ったimputed database (df_miced)に対して、新規の変数を追加する方法はあるのでしょうか?例えば、作り出された全てのデータセットにおいて、Ageに関して65歳以上なら1, 64歳以下なら0を与えるような変数を追加するには、どうしたらよいでしょうか?
Rスクリプトに数式を入力する作業など今日初めて挑戦したくらいで、まだ全然基本がつかめていないと思うのですが、初心者でも何とか結果にたどり着けるようにご指導いただけると大変助かります・・・ |
|