Aan de slagGa gratis aan de slag

Controleren of data overeenkomt

Je data dwingen in de data-slot werkt niet, omdat je zo de juiste overeenkomst tussen rijen en ruimtelijke objecten kwijtraakt. Hoe voeg je de inkomensdata toe aan de polygoondata? De functie merge() in sp is hier precies voor bedoeld.

Je hebt merge() misschien al eerder gezien bij data frames. sp::merge() heeft bijna dezelfde structuur, maar je geeft er een Spatial***-object en een data frame aan door en je krijgt een nieuw Spatial***-object terug waarbij de data-slot nu een merge is van de oorspronkelijke data-slot en het data frame. Om deze merge te doen, moeten zowel het ruimtelijke object als het data frame een kolom hebben met IDs om op te matchen.

Zowel nyc_tracts als nyc_income hebben kolommen met tract-IDs, dus dit zijn uitstekende kandidaten om de twee gegevenssets te mergen. Het is echter altijd verstandig om te controleren dat de voorgestelde IDs uniek zijn en dat er voor elke rij in beide gegevenssets een match is.

Laten we dit controleren voordat we gaan mergen.

Deze oefening maakt deel uit van de cursus

Georuimtelijke data visualiseren in R

Cursus bekijken

Oefeninstructies

  • Gebruik any() met duplicated() op nyc_income$tract om te controleren of elke rij in nyc_income een unieke tract-ID heeft.
  • Gebruik any() met duplicated() op nyc_tracts$TRACTCE om te controleren of elke rij in nyc_tracts een unieke tract-ID heeft.
  • Gebruik all() op nyc_tracts$TRACTCE %in% nyc_income$tract om te controleren of alle tracts uit nyc_tracts in nyc_income staan.
  • Gebruik all() op nyc_income$tract %in% nyc_tracts$TRACTCE om te controleren of alle tracts uit nyc_income in nyc_tracts staan.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Check for duplicates in nyc_income


# Check for duplicates in nyc_tracts


# Check nyc_tracts in nyc_income


# Check nyc_income in nyc_tracts
Code bewerken en uitvoeren