Saya telah meneliti paket tikus , dan saya belum menemukan cara untuk menggunakan beberapa imputasi untuk membuat model Cox, kemudian memvalidasi model itu dengan fungsi paket rmsvalidate() . Berikut adalah beberapa contoh kode dari apa yang saya miliki sejauh ini, menggunakan kumpulan data veteran:
library(rms)
library(survival)
library(mice)
remove(veteran)
data(veteran)
veteran$trt=factor(veteran$trt,levels=c(1,2))
veteran$prior=factor(veteran$prior,levels=c(0,10))
#Set random data to NA
veteran[sample(137,4),1]=NA
veteran[sample(137,4),2]=NA
veteran[sample(137,4),7]=NA
impvet=mice(veteran)
survmod=with(veteran,Surv(time,status))
#make a CPH for each imputation
for(i in seq(5)){
assign(paste("mod_",i,sep=""),cph(survmod~trt+celltype+karno+age+prior,
data=complete(impvet,i),x=T,y=T))
}
#Now there is a CPH model for mod_1, mod_2, mod_3, mod_4, and mod_5.
Sekarang, jika saya hanya bekerja dengan satu model CPH, saya akan melakukan ini:
validate(mod_1,B=20)
Masalah yang saya alami adalah bagaimana mengambil 5 model CPH (1 untuk setiap imputasi), dan dapat membuat model gabungan yang kemudian dapat saya gunakan rms. Saya tahu bahwa micepaket tersebut memiliki beberapa fungsi penyatuan bawaan tetapi saya tidak percaya mereka bekerja dengan cphobjek tersebut rms. Kuncinya di sini adalah masih bisa digunakan rmssetelah pooling. Saya melihat ke dalam menggunakan aregImpute()fungsi Harrell tapi saya mengalami kesulitan mengikuti contoh dan dokumentasi; micetampaknya lebih mudah digunakan.