Kontrola shody dat
Vkládat data přímo do slotu data nefunguje, protože se tím ztratí správná korespondence mezi řádky a prostorovými objekty. Jak tedy přidat data o příjmech k polygonálním datům? Přesně k tomuto účelu slouží funkce merge() z balíčku sp.
Funkci merge() možná znáš z práce s datovými rámci. sp::merge() má téměř stejnou strukturu, ale předáváš jí objekt Spatial*** a datový rámec — a vrátí nový objekt Spatial***, jehož datový slot je výsledkem sloučení původního datového slotu s datovým rámcem. Aby sloučení fungovalo, musí mít prostorový objekt i datový rámec sloupec se shodujícími se ID.
Jak nyc_tracts, tak nyc_income obsahují sloupce s ID sčítacích obvodů, takže jsou ideálními kandidáty pro sloučení obou datových sad. Vždy je ale dobré ověřit, že navrhovaná ID jsou unikátní a že pro každý řádek v obou datových sadách existuje odpovídající záznam.
Tuto kontrolu proveďme ještě před samotným sloučením.
Toto cvičení je součástí kurzu
Vizualizace geoprostorových dat v R
Pokyny k cvičení
- Pomocí
any()aduplicated()nanyc_income$tractzkontroluj, zda má každý řádek vnyc_incomeunikátní ID sčítacího obvodu. - Pomocí
any()aduplicated()nanyc_tracts$TRACTCEzkontroluj, zda má každý řádek vnyc_tractsunikátní ID sčítacího obvodu. - Pomocí
all()nanyc_tracts$TRACTCE %in% nyc_income$tractověř, zda jsou všechny sčítací obvody znyc_tractsobsaženy i vnyc_income. - Pomocí
all()nanyc_income$tract %in% nyc_tracts$TRACTCEověř, zda jsou všechny sčítací obvody znyc_incomeobsaženy i vnyc_tracts.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Check for duplicates in nyc_income
# Check for duplicates in nyc_tracts
# Check nyc_tracts in nyc_income
# Check nyc_income in nyc_tracts