Sprawdzanie zgodności danych
Wymuszenie wstawienia danych bezpośrednio do slotu data nie zadziała, ponieważ traci się poprawne przyporządkowanie między wierszami a obiektami przestrzennymi. Jak zatem dodać dane dochodowe do danych poligonów? Funkcja merge() z pakietu sp powstała dokładnie w tym celu.
Możliwe, że znasz już merge() w kontekście ramek danych. Funkcja sp::merge() działa niemal tak samo, ale przyjmuje obiekt Spatial*** i ramkę danych, a zwraca nowy obiekt Spatial***, którego slot data jest wynikiem połączenia oryginalnego slotu data z tą ramką danych. Do wykonania tego połączenia oba obiekty — przestrzenny i ramka danych — muszą mieć kolumnę zawierającą identyfikatory, według których nastąpi dopasowanie.
Zarówno nyc_tracts, jak i nyc_income mają kolumny z identyfikatorami obszarów spisowych (tract IDs), więc są doskonałymi kandydatami do scalenia tych dwóch zbiorów danych. Zawsze warto jednak sprawdzić, czy proponowane identyfikatory są unikalne i czy dla każdego wiersza w obu zbiorach danych istnieje dopasowanie.
Sprawdźmy to przed przejściem do scalania.
To ćwiczenie jest częścią kursu
Wizualizacja danych geoprzestrzennych w R
Instrukcje do ćwiczenia
- Użyj
any()zduplicated()nanyc_income$tract, aby sprawdzić, czy każdy wiersz wnyc_incomema unikalny identyfikator obszaru spisowego. - Użyj
any()zduplicated()nanyc_tracts$TRACTCE, aby sprawdzić, czy każdy wiersz wnyc_tractsma unikalny identyfikator obszaru spisowego. - Użyj
all()nanyc_tracts$TRACTCE %in% nyc_income$tract, aby sprawdzić, czy wszystkie obszary spisowe znyc_tractsznajdują się wnyc_income. - Użyj
all()nanyc_income$tract %in% nyc_tracts$TRACTCE, aby sprawdzić, czy wszystkie obszary spisowe znyc_incomeznajdują się wnyc_tracts.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Check for duplicates in nyc_income
# Check for duplicates in nyc_tracts
# Check nyc_tracts in nyc_income
# Check nyc_income in nyc_tracts