重新編碼變數並計算群組總和
tidyverse 的核心套件之一 dplyr,提供許多整理資料的函式。這些功能讓使用者能重新編碼資料集、在資料集中定義群組,並對各群組進行計算。這類操作通常在以 %>% 表示的「管線」(pipe)中完成。
在本練習中,你會在 tidyverse 的工作流程裡處理 ACS 資料。你要在 ACS 表 B19001 中找出家庭所得中位數變數,分別標記為低於 $35,000、介於 $35,000 與 $75,000 之間,以及高於 $75,000。接著,針對華盛頓州各郡(county),彙整每個群組所包含的家庭數。
本練習屬於課程
在 R 中分析美國人口普查資料
練習說明
- 先過濾掉變數等於
"B19001_001"的列,因為這代表家庭總數。 - 使用
case_when()建立名為incgroup的欄位,作為重新編碼後的群組。 - 使用
group_by()依郡名與所得群組來群組你的資料集。 - 最後使用
summarize()依郡彙整各群組的總和,然後檢查結果。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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