Czyszczenie danych NHANES
Podczas czyszczenia danych odkryliśmy, że żadna osoba poniżej 16. roku życia nie otrzymała leczenia. Przypomnij sobie, że potraktowaliśmy zmienną wskazującą, czy lekarz kiedykolwiek zalecił pacjentowi ograniczenie tłuszczu lub kalorii w diecie, jako celowe doradztwo żywieniowe – czyli nasze leczenie. Zachowaj w zbiorze danych tylko pacjentów, którzy mają więcej niż 16 lat.
Możliwe, że zauważyłeś(-aś) też, że domyślne ustawienia ggplot2 pomijają obserwacje z brakującą zmienną zależną – w tym przypadku masą ciała. Jednym ze sposobów radzenia sobie z brakującymi wartościami jest imputacja, którą można zaimplementować za pomocą pakietu simputation. Imputacja polega na zastępowaniu brakujących wartości statystyką podsumowującą (np. średnią lub medianą) albo przewidywaną wartością z modelu.
Skorzystamy z funkcji impute_median(), która przyjmuje zbiór danych oraz zmienną do imputacji lub formułę imputacji jako argumenty. Na przykład impute_median(ToothGrowth, len ~ dose) uzupełni brakujące wartości zmiennej len medianą len dla poszczególnych wartości dose. Jeśli więc świnka morska, która otrzymała dawkę 2,0, miała brakującą wartość zmiennej len, zostanie ona uzupełniona medianą len dla świnek z dawką 2,0.
To ćwiczenie jest częścią kursu
Projektowanie eksperymentów w R
Instrukcje do ćwiczenia
- Utwórz
nhanes_filter, używającfilter(), aby zachować w zbiorze danych tylko osoby powyżej 16. roku życia (bez osób, które mają dokładnie 16 lat). Wiek jest przechowywany w zmiennejridageyr. - Wczytaj
simputation. Użyjimpute_median(), aby uzupełnić brakujące obserwacjebmxwtwnhanes_filter, grupując wedługriagendr. - Przekoduj zmienną
nhanes_final$mcq365d, ustawiając wszystkie obserwacje o wartości 9 na 2. Zweryfikuj poprawność przekodowania za pomocącount().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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` = ___)
___ %>% ___