Przekodowywanie zmiennych i obliczanie sum grupowych
dplyr, jeden z podstawowych pakietów tidyverse, oferuje wiele funkcji do przetwarzania danych. Pozwalają one na przekodowywanie zbiorów danych, definiowanie grup oraz wykonywanie obliczeń w obrębie tych grup. Takie operacje najczęściej wykonuje się w ramach potoku, oznaczanego operatorem %>%.
W tym ćwiczeniu będziesz pracować z danymi ACS w takim właśnie przepływie pracy opartym na tidyverse. Zidentyfikujesz zmienne mediany dochodu gospodarstwa domowego z tabeli ACS B19001, które odpowiadają dochodom poniżej 35 000 USD, między 35 000 a 75 000 USD oraz powyżej 75 000 USD. Następnie obliczysz liczbę gospodarstw domowych należących do każdej grupy dla powiatów stanu Waszyngton.
To ćwiczenie jest częścią kursu
Analiza danych ze spisu powszechnego USA w R
Instrukcje do ćwiczenia
- Odfiltruj wiersze, w których zmienna ma wartość
"B19001_001"– odpowiada ona łącznej liczbie gospodarstw domowych. - Użyj funkcji
case_when(), aby utworzyć kolumnę o nazwieincgroup, która posłuży do zdefiniowania przekodowanych grup. - Użyj funkcji
group_by(), aby pogrupować zbiór danych według nazwy powiatu i grupy dochodowej. - Na koniec użyj funkcji
summarize(), aby obliczyć sumy grupowe dla poszczególnych powiatów, a następnie sprawdź wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Use a tidy workflow to wrangle ACS data
wa_grouped <- wa_income %>%
___(___ != "B19001_001") %>%
mutate(incgroup = ___(
variable < "B19001_008" ~ "below35k",
variable < "B19001_013" ~ "35kto75k",
TRUE ~ "above75k"
)) %>%
___(NAME, incgroup) %>%
___(group_est = sum(estimate))
wa_grouped