Limpieza de datos de NHANES
Durante la limpieza de datos, descubrimos que a nadie menor de 16 años se le administró el tratamiento. Recuerda que estamos suponiendo que la variable que indica si un médico les ha aconsejado alguna vez reducir la grasa o las calorías en su dieta equivale a asesoramiento nutricional intencional, nuestro tratamiento. Vamos a quedarnos solo con los pacientes que tengan más de 16 años en el conjunto de datos.
También habrás notado que la configuración predeterminada de ggplot2 elimina cualquier observación con una variable dependiente ausente; en este caso, el peso corporal. Una opción para tratar los pesos ausentes, la imputación, se puede implementar con el paquete simputation. La imputación es una técnica para tratar valores perdidos sustituyéndolos por una estadística resumen, como la media o la mediana, o usando un modelo para predecir un valor.
Usaremos impute_median(), que recibe como argumentos un conjunto de datos y la variable a imputar o una fórmula por la que imputar. Por ejemplo, impute_median(ToothGrowth, len ~ dose) rellenaría cualquier valor perdido en la variable len con el valor mediano de len por dose. Así, si un conejillo de Indias que recibió una dosis de 2.0 tenía un valor ausente en la variable len, se rellenaría con la mediana de len para aquellos conejillos de Indias con dose de 2.0.
Este ejercicio forma parte del curso
Diseño experimental en R
Instrucciones del ejercicio
- Crea
nhanes_filterusandofilter()para conservar en el conjunto a cualquier persona mayor de 16, sin incluir a quienes tengan 16. La edad está almacenada en la variableridageyr. - Carga
simputation. Usaimpute_median()para rellenar las observaciones faltantes debmxwtennhanes_filter, agrupando porriagendr. - Recodifica la variable
nhanes_final$mcq365destableciendo cualquier observación con valor 9 a 2. Verifica que la recodificación funcionó concount().
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Filter to keep only those 16+
nhanes_filter <- ___ %>% filter(___)
# Load simputation & impute bmxwt by riagendr
___
nhanes_final <- impute_median(___, ___)
# Recode mcq365d with recode() & examine with count()
nhanes_final$mcq365d <- recode(nhanes_final$mcq365d,
`1` = 1,
`2` = 2,
`9` = ___)
___ %>% ___