変数の再コードとグループ合計の計算
tidyverseのコアパッケージの一つであるdplyrには、データ加工のための豊富な関数が用意されています。これらの関数を使うと、データセットの値を再コードしたり、グループを定義したり、グループごとに集計を行ったりすることができます。こうした一連の操作は、%>% 演算子を使ったパイプの中で行うのが一般的です。
この演習では、tidyverseのワークフローに沿ってACSデータを操作します。ACSテーブルB19001に含まれる世帯収入の中央値変数を、35,000ドル未満、35,000〜75,000ドル、75,000ドル超の3グループに分類します。その後、ワシントン州の各郡について、それぞれのグループに該当する世帯数を集計しましょう。
この演習はコースの一部です
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