Verificarea compatibilității datelor
Forțarea datelor în slotul data nu funcționează, deoarece se pierde corespondența corectă dintre rânduri și obiectele spațiale. Cum adaugi atunci datele despre venituri la datele poligonale? Funcția merge() din sp este concepută exact în acest scop.
Poate ai mai folosit merge() cu cadre de date. sp::merge() are aproape aceeași structură, dar îi pasezi un obiect Spatial*** și un cadru de date, iar rezultatul este un nou obiect Spatial*** în care slotul de date reprezintă interclasarea slotului original cu cadrul de date. Pentru a realiza această interclasare, atât obiectul spațial, cât și cadrul de date trebuie să aibă o coloană cu ID-uri de potrivire.
Atât nyc_tracts, cât și nyc_income au coloane cu ID-uri de tract, deci sunt candidați ideali pentru a interclasa cele două seturi de date. Este întotdeauna o idee bună să verifici că ID-urile propuse sunt unice și că există o corespondență pentru fiecare rând din ambele seturi de date.
Hai să facem această verificare înainte de a trece la interclasare.
Acest exercițiu face parte din cursul
Vizualizarea datelor geospațiale în R
Instrucțiuni pentru exercițiu
- Folosește
any()împreună cuduplicated()penyc_income$tractpentru a verifica dacă fiecare rând dinnyc_incomeare un ID de tract unic. - Folosește
any()împreună cuduplicated()penyc_tracts$TRACTCEpentru a verifica dacă fiecare rând dinnyc_tractsare un ID de tract unic. - Folosește
all()penyc_tracts$TRACTCE %in% nyc_income$tractpentru a verifica că toate tracturile dinnyc_tractsse regăsesc înnyc_income. - Folosește
all()penyc_income$tract %in% nyc_tracts$TRACTCEpentru a verifica că toate tracturile dinnyc_incomese regăsesc înnyc_tracts.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Check for duplicates in nyc_income
# Check for duplicates in nyc_tracts
# Check nyc_tracts in nyc_income
# Check nyc_income in nyc_tracts