Bắt đầu ngayBắt đầu miễn phí

Mã hóa lại biến và tính tổng theo nhóm

dplyr, một trong các package cốt lõi của tidyverse, bao gồm nhiều hàm để xử lý (wrangle) dữ liệu. Tính năng này cho phép bạn mã hóa lại dữ liệu, xác định các nhóm trong tập dữ liệu và thực hiện tính toán trên các nhóm đó. Những thao tác như vậy thường được thực hiện trong một pipe, ký hiệu bằng toán tử %>%.

Trong bài tập này, bạn sẽ làm việc với dữ liệu ACS theo đúng quy trình tidyverse như vậy. Bạn sẽ xác định các biến thu nhập hộ gia đình trung vị trong bảng ACS B19001 thuộc ba mức: dưới $35.000; từ $35.000 đến $75.000; và trên $75.000. Sau đó, bạn sẽ lập bảng số lượng hộ gia đình rơi vào từng nhóm cho các quận (counties) ở Washington.

Bài tập này là một phần của khóa học

Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng R

Xem khóa học

Hướng dẫn bài tập

  • Lọc bỏ các dòng có biến bằng "B19001_001", vì đây là tổng số hộ gia đình.
  • Dùng hàm case_when() để tạo cột tên incgroup, bạn sẽ dùng cột này để xác định các nhóm đã mã hóa lại.
  • Dùng hàm group_by() để nhóm dữ liệu theo tên quận và nhóm thu nhập.
  • Cuối cùng, dùng hàm summarize() để lập bảng tổng theo nhóm cho từng quận, rồi kiểm tra kết quả.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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
Chỉnh sửa và Chạy Mã