Čištění dat NHANES
Při čištění dat jsme zjistili, že léčbu nedostal nikdo mladší 16 let. Připomeňme, že proměnnou označující, zda lékař někdy doporučil omezit tuky nebo kalorie ve stravě, považujeme za záměrné nutriční poradenství – tedy naši sledovanou léčbu. V datasetu si ponecháme pouze pacienty starší 16 let.
Možná sis také všiml/a, že výchozí nastavení ggplot2 odstraní všechna pozorování s chybějící závislou proměnnou – v tomto případě tělesnou hmotností. Jednou z možností, jak s chybějícími hodnotami hmotnosti naložit, je imputace, kterou lze implementovat pomocí balíčku simputation. Imputace je technika pro práci s chybějícími hodnotami: nahradíš je buď souhrnnou statistikou (například průměrem nebo mediánem), nebo pomocí modelu odhadneš hodnotu, kterou použiješ jako náhradu.
Použijeme funkci impute_median(), která jako argumenty přijímá dataset a proměnnou k imputaci nebo vzorec pro imputaci. Například impute_median(ToothGrowth, len ~ dose) doplní chybějící hodnoty proměnné len mediánem hodnot len pro každou hodnotu dose. Takže pokud morče, které dostalo dávku 2,0, mělo chybějící hodnotu proměnné len, bude tato hodnota doplněna mediánem len pro morčata se stejnou hodnotou dose 2,0.
Toto cvičení je součástí kurzu
Experimental Design in R
Pokyny k cvičení
- Vytvoř
nhanes_filterpomocí funkcefilter()tak, aby dataset obsahoval pouze osoby starší 16 let – bez těch, kterým je přesně 16. Věk je uložen v proměnnéridageyr. - Načti
simputation. Pomocíimpute_median()doplň chybějící hodnoty v proměnnébmxwtv datasetunhanes_filters grupováním podleriagendr. - Překóduj proměnnou
nhanes_final$mcq365dtak, že všechna pozorování s hodnotou 9 nahradíš hodnotou 2. Ověř, že překódování proběhlo správně, pomocícount().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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` = ___)
___ %>% ___