始める無料で始める

変数の再コードとグループ合計の計算

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
コードを編集して実行