Kiểm tra dữ liệu sẽ khớp
Ép dữ liệu của bạn vào ô data không hiệu quả vì bạn sẽ làm mất sự tương ứng đúng giữa các hàng và đối tượng không gian. Vậy bạn thêm dữ liệu thu nhập vào dữ liệu đa giác như thế nào? Hàm merge() trong sp được thiết kế chính xác cho mục đích này.
Có thể bạn đã gặp merge() trước đây với data frame. sp::merge() có cấu trúc gần như y hệt, nhưng bạn truyền vào một đối tượng Spatial*** và một data frame, và nó trả về một đối tượng Spatial*** mới, trong đó ô data giờ là phần trộn (merge) giữa ô data gốc và data frame. Để thực hiện phép trộn này, cả đối tượng không gian và data frame đều cần có một cột chứa ID để ghép.
Cả nyc_tracts và nyc_income đều có các cột với ID của census tract, nên đây là ứng viên rất tốt để ghép hai tập dữ liệu. Tuy vậy, luôn là ý hay khi kiểm tra xem các ID đề xuất có duy nhất không và có khớp cho mọi hàng ở cả hai tập dữ liệu hay không.
Hãy kiểm tra điều này trước khi tiếp tục ghép.
Bài tập này là một phần của khóa học
Trực quan hóa dữ liệu địa lý trong R
Hướng dẫn bài tập
- Dùng
any()vớiduplicated()trênnyc_income$tractđể kiểm tra xem mỗi hàng trongnyc_incomecó một tract ID duy nhất hay không. - Dùng
any()vớiduplicated()trênnyc_tracts$TRACTCEđể kiểm tra xem mỗi hàng trongnyc_tractscó một tract ID duy nhất hay không. - Dùng
all()trênnyc_tracts$TRACTCE %in% nyc_income$tractđể kiểm tra các tract củanyc_tractsđều có trongnyc_income. - Dùng
all()trênnyc_income$tract %in% nyc_tracts$TRACTCEđể kiểm tra các tract củanyc_incomeđều có trongnyc_tracts.
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.
# Check for duplicates in nyc_income
# Check for duplicates in nyc_tracts
# Check nyc_tracts in nyc_income
# Check nyc_income in nyc_tracts