Lấy dữ liệu cho nhiều bang
Ở bài trước, bạn đã học cách gộp các tập dữ liệu với hàm rbind_tigris(). Tuy nhiên, nếu cần dữ liệu cho nhiều hơn hai bang, quy trình này sẽ trở nên lặp lại và mất công. Trong bài này, bạn sẽ học cách tạo danh sách các tập dữ liệu cho nhiều bang bằng hàm map() của tidyverse, rồi gộp các tập dữ liệu đó với rbind_tigris().
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
Hướng dẫn bài tập
- Tạo một vector mã bang cho Maine, New Hampshire, Vermont và Massachusetts tên là
new_england. - Dùng hàm
map()của tidyverse để lặp qua vector mã bang. - Thiết lập biến cục bộ
xđể yêu cầu dữ liệu tract cho mỗi bang bên trong hàm được dùng bởimap().
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.
# Generate a vector of state codes and assign to new_england
___ <- c("ME", "NH", "VT", "MA")
# Iterate through the states and request tract data for state
ne_tracts <- ___(new_england, function(x) {
___(state = ___, cb = TRUE)
}) %>%
rbind_tigris()
plot(ne_tracts$geometry)