Representar gráficamente los resultados de imputación múltiple
-
01-10-2019 - |
Pregunta
Me han completado con éxito una imputación múltiple de los datos que faltan de mi investigación cuestionario utilizando el paquete de MICE en I y se realizó una regresión lineal de las variables imputadas agrupados. Me parece que no puede encontrar la manera de extraer las variables agrupadas individuales y la trama en un gráfico. Algunas ideas?
por ejemplo.
>imp <- mice(questionnaire)
>fit <- with(imp, lm(APE~TMAS+APB+APA+FOAP))
>summary(pool(fit))
Quiero parcela agruparon APE por TMAS.
Ejemplo reproducible utilizando NHANES:
> library(mice)
> nhanes
> imp <-mice(nhanes)
> fit <-with(imp, lm(bmi~chl+hyp))
> fit
> summary(pool(fit))
Me gustaría trazar CHL agrupada contra bmi agrupadas (por ejemplo).
El mejor que he podido lograr es
> mat <-complete(imp, "long")
> plot(mat$chl~mat$bmi)
Lo que creo que da la trama combinado de los 5 imputaciones y no es exactamente lo que estoy buscando (creo).
Solución
los with.mids subyacentes () permite la regresión puede llevar a cabo en cada trama de datos imputada. Por lo que no es una regresión, pero 5 regresiones que sucedieron. piscina () sólo promedios de los coeficientes estimados y ajusta las varianzas para la inferencia estadística de acuerdo a la cantidad de imputación.
Así que no son solo las variables agrupadas a la trama. Lo que podría hacer es la media de los 5 conjuntos imputados y volver a crear una especie de "línea de regresión" en base a los coeficientes agrupados, por ejemplo:
# Averaged imputed data
combchl <- tapply(mat$chl,mat$.id,mean)
combbmi <- tapply(mat$bmi,mat$.id,mean)
combhyp <- tapply(mat$hyp,mat$.id,mean)
# coefficients
coefs <- pool(fit)$qbar
# regression results
x <- data.frame(
int = rep(1,25),
chl = seq(min(combchl),max(combchl),length.out=25),
hyp = seq(min(combhyp),max(combhyp),length.out=25)
)
y <- as.matrix(x) %*%coefs
# a plot
plot(combbmi~combchl)
lines(x$chl,y,col="red")