Estudia el tipo de missing data. Para facilitarte el proceso, puedes estudiar los missing de las variables cualitativas por un lado usando gg_miss_var() y los missing de las variables cuantitativas usando marginplot(). También puedes proponer otras formas.
vis_miss(data2)##Variables cualitativasgg_miss_var(data2, show_pct =TRUE,facet = outcome)gg_miss_var(data2, show_pct =TRUE,facet = gender)gg_miss_var(data2, show_pct =TRUE,facet = hospital)gg_miss_var(data2, show_pct =TRUE,facet = fever)gg_miss_var(data2, show_pct =TRUE,facet = chills)## Outcome y hospital no parecen tener relación (MCAR)## Gender y Age parece tener los mismos missing, asumir MCAR o que hay algo no observado detrás##Cuantitativasmarginplot(data2[,c("age","temp")])marginplot(data2[,c("age","days_onset_hosp")])marginplot(data2[,c("age","ct_blood")])marginplot(data2[,c("temp","ct_blood")])##Temp parece que tiene missing con los valores bajos de ct_blood pero no con todos##Quizás podríamos pensar que aquellos indiviudos con valores bajos de ct_blood son individuos más sanos a los##que ya no se les cogió la temperatura y el resto de síntomas pero al haber otros que si, está asociación##no es exclusiva. Podría ser un caso de MAR o MNAR si hay algo más detrás.marginplot(data2[,c("days_onset_hosp","ct_blood")])##days_onset_hospital con los valores altos de ct_blood pero no con todos###Síntomas parecen tener una relación ya que son las mismas observacionesmarginplot(data2[,c("temp","fever")])##La fiebre falta en aquellos con temperatura baja, pero no todos los## que tienen temperatura baja falta la fiebre, por tanto parece que estamos ante un claro caso de MNAR y## el resto de síntomas cumplirían lo mismo#####Cuantitativa con cualitativashadowed_data <- data2 %>%bind_shadow()names(shadowed_data)ggplot (data = shadowed_data, mapping =aes(x = temp,colour = fever_NA))+geom_density()##Aquí vemos como los síntomas faltan para aquellas variables que tienen temp baja,##Aunque hay algunos que tienen temperatura baja siendo no missing##En principio los sintomas parecen MAR aunque hay algo no observado por detrás
Realiza una imputación con mice usando todas las variables usando 100 iteraciones y generandoo 5 bases de datos. ¿Hay algo que te llame la atención? ¿Te atreverías a generar 10 bases de datos o 500 iteraciones?
impData <-mice(data2,m=5,maxit=10,seed=500)
Visualiza las variables cuantitativas para ver si se han imputado bien.
###Resuemn de la imputación summary(impData)###Datos completoscompletedData <-complete(impData,1)###Gráficos de visualización cuantitativasdensityplot(impData)stripplot(impData, pch =20, cex =1.2)
Usando una de las 5 bases de datos completa, visualiza las variables cualitativas.
# Graficar la distribución de las variable categóricas antes y después de la imputaciónpar(mfrow =c(1, 2)) # Organizar las gráficas en una fila de 2 columnasbarplot(table(data2$outcome, useNA ="ifany"), main ="Antes de la imputación")barplot(table(completedData$outcome), main ="Después de la imputación")barplot(table(data2$gender, useNA ="ifany"), main ="Antes de la imputación")barplot(table(completedData$gender), main ="Después de la imputación")barplot(table(data2$hospital, useNA ="ifany"), main ="Antes de la imputación")barplot(table(completedData$hospital), main ="Después de la imputación")barplot(table(data2$fever, useNA ="ifany"), main ="Antes de la imputación")barplot(table(completedData$fever), main ="Después de la imputación")barplot(table(data2$fever, useNA ="ifany"), main ="Antes de la imputación")barplot(table(completedData$fever), main ="Después de la imputación")barplot(table(data2$chills, useNA ="ifany"), main ="Antes de la imputación")barplot(table(completedData$chills), main ="Después de la imputación")
Usando la variable temperatura, estudia si se ha imputado bien la variable fever.