重编码变量并计算分组总数
tidyverse 的核心包之一 dplyr 提供了大量用于整洁数据处理的函数。这些功能可帮助您对数据集进行重编码,在数据集中定义分组,并对各分组执行计算。此类操作通常在一个"管道"(pipe)中完成,使用 %>% 运算符连接。
在本练习中,您将基于 tidyverse 工作流处理 ACS 数据。您的任务是识别 ACS 表 B19001 中的家庭收入中位数变量:低于 $35,000、介于 $35,000 与 $75,000 之间,以及高于 $75,000。随后,您将统计华盛顿州各县落入每个组别的家庭数量。
本练习是课程的一部分
在 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