Ejercicios

Con la misma base de datos de la epidemia de 茅bola haz los siguientes ejercicios:

library(naniar)
library(tidyverse)
load("linelist.Rdata")
head(data)
str(data)
summary(data)
  1. 驴Qu茅 n煤mero absoluto de datos missing hay en esta base de datos? y 驴porcentaje? y 驴observaciones completas? 驴Te parecen muchos o pocos?

# Number of missing data
n_miss(data)
# 13198 


pct_miss(data)
# 8.6%

# Percent of rows that are complete (no values missing)  
pct_complete_case(data) # use n_complete() for counts
#23.5%

En t茅rminos absolutos parecen muchos datos, pero el porcentaje total de datos missing es un 8.6%. El problema real de esta base de datos es que s贸lo hay un 23.5% de observaciones completas y por tanto si quisieramos hacer un estudio multivariante con todas las variables o imputamos o si borramos perdemos mas de la mitad de las observaciones.

  1. Usando gg_miss_var() 驴Qu茅 variables son las que m谩s porcentaje de datos missing tienen? 驴Hay variables que no tengan datos missing o que tengan menos de un 5%?

Source, infector y date_infection tiene m谩s de un 30% de valores missing, habr铆a que pensar si imputar o borrar la variable entera. La gran mayor铆a de variables tienen menos del 5% y esta es una buena cifra para imputar datos.

  1. Usando gg_miss_var() representa los datos missing de toda la base de datos por los valores de la variable outcome, age_cat y hospital. 驴Podemos ver alg煤n patr贸n?

gg_miss_var(data, show_pct = TRUE,facet = gender)


gg_miss_var(data, show_pct = TRUE,facet = outcome)


gg_miss_var(data, show_pct = TRUE,facet = age_cat)


gg_miss_var(data, show_pct = TRUE,facet = hospital)

Vemos que gender y age tienen las mismas observaciones con datos missing. Para outcome y hospital no se observa ning煤n patr贸n.

  1. Usando vis_miss() y select(), imag铆nate que quieres estudiar los d铆as que han pasado desde la fecha de hospitalizaci贸n hasta el outcome seg煤n las caracter铆sticas de los pacientes (age, gender, hospital) y sus s铆ntomas (fever, chills, cough, aches vomit, temp). 驴Qu茅 heatmap representar铆as para ver los datos missing? 驴Qu茅 problemas vas a encontrar en este an谩lisis?

vis_miss(select(data,date_hospitalisation,date_outcome,outcome,gender,age,hospital,fever,chills,cough,aches,vomit,temp))

El principal problemas que vemos aqu铆 es que las variables correspondientes a los s铆ntomas corresponden a las mismas observaciones, por tanto, por un lado, no sabemos por qu茅 puede ser debido esto y puede que haya alguna raz贸n detr谩s que no sepamos y por otro lado, no vamos a poder unsar el resto de s铆ntomas para imputar estos datos missing.

Tambi茅n vemos que la fecha date_outcome tiene muchos datos missing, esto hace que si construimos una nueva variable con los d铆as que han pasado desde la fecha de hospitalizaci贸n hasta el outcome, tendremos todos los missing de esta variable.

  1. Usando gg_miss_fct(), representa un heatmap de todos los datos por las variables categ贸ricas (gender, outcome y hospital y por las fechas date_hospitalisation y date_outcome). 驴Qu茅 observas en estos gr谩ficos?


gg_miss_fct(data, gender)
gg_miss_fct(data, outcome)

gg_miss_fct(data, date_infection)
gg_miss_fct(data, date_hospitalisation)
gg_miss_fct(data, date_outcome)

Para gender y outcome no se observa ning煤n patr贸n destacable m谩s que el que ya sab铆amos de los missing en la variable gender y age para las mismas observaciones. Sobre las fechas, no hay nign煤n patr贸n en los missing, pero si observamos como al inicio de la recogido (inicio de la epidemia) hab铆a menos datos que al final, que los datos recogidos son m谩s continuos en el tiempo, lo cual corresponde a lo esperado en la evoluci贸n de una epidemia.

  1. Usando las variables "shadow", realiza un gr谩fico que muestre la distribuci贸n de las distintas fechas considerando los datos missing (NA) y no missing (!NA) de la variable edad y gender. 驴Qu茅 conclusi贸n sacar铆as?

shadowed_data <- data %>%   bind_shadow()
shadowed_data[,c("gender","gender_NA")]
table(shadowed_data$gender,shadowed_data$gender_NA,useNA = "always")

ggplot (data = shadowed_data,            # data frame with shadow columns        
        mapping = aes(x = date_hospitalisation,       # numeric or date column   
                   colour = age_NA)) +   # shadow column of interest  
        geom_density() 
                   
ggplot (data = shadowed_data,            # data frame with shadow columns       
        mapping = aes(x = date_outcome,       # numeric or date column   
                    colour = age_NA)) +   # shadow column of interest  
         geom_density()        
         
ggplot (data = shadowed_data,            # data frame with shadow columns        
        mapping = aes(x = date_onset,       # numeric or date column       
                    colour = age_NA)) +   # shadow column of interest  
         geom_density() 
         
ggplot (data = shadowed_data,             # data frame with shadow columns        
           mapping = aes(x = date_hospitalisation,       # numeric or date column
                      colour = gender_NA)) +   # shadow column of interest  
           geom_density() 

ggplot (data = shadowed_data,            # data frame with shadow columns        
           mapping = aes(x = date_outcome,       # numeric or date column   
                        colour = gender_NA)) +   # shadow column of interest  
             geom_density()        
             
  ggplot (data = shadowed_data,            # data frame with shadow columns        
             mapping = aes(x = date_onset,       # numeric or date column     
                         colour = gender_NA)) +   # shadow column of interest  
              geom_density() 

Para ambas variables (edad y gender) y todas las fechas lo que se observa es que los datos missing corresponden a fechas m谩s tard铆as desde el inicio de la recogida de datos (epidemia). Podr铆a corresponder a una situaci贸n en la que al inicio que hay menos gente acudiendo a los hospitales la recogida de datos se hace de forma completa y adecuada y seg煤n pasa el tiempo y los hospitales colapsan, la recogida de datos es muchas veces imposible.

Last updated