He estado investigando el paquete de ratones , y aún no he descubierto una forma de usar las imputaciones múltiples para hacer un modelo de Cox, luego validar ese modelo con la función del paquete rmsvalidate() . Aquí hay un código de muestra de lo que tengo hasta ahora, usando el conjunto de datos 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.
Ahora, si solo estuviera trabajando con un modelo de CPH, haría esto:
validate(mod_1,B=20)
El problema que tengo es cómo tomar los 5 modelos de CPH (1 para cada imputación) y poder crear un modelo agrupado con el que luego pueda usar rms. Sé que el micepaquete tiene algunas funciones de agrupación incorporadas, pero no creo que funcionen con el cphobjeto rms. La clave aquí es poder seguir utilizando rmsdespués de la agrupación. Estudié el uso de la aregImpute()función de Harrell, pero tengo problemas para seguir los ejemplos y la documentación; miceParece más simple de usar.