Kom igångKom igång gratis

Kontrollera att data matchar

Att tvinga in data i data-sloten fungerar inte, eftersom man då förlorar den korrekta kopplingen mellan rader och geografiska objekt. Hur lägger man till inkomstdata i polygondata? Funktionen merge() i sp är skapad just för detta ändamål.

Du kanske har sett merge() tidigare med dataramar. sp::merge() har nästan exakt samma struktur, men du skickar in ett Spatial***-objekt och en dataram och får tillbaka ett nytt Spatial***-objekt där data-sloten nu är en sammanslagning av den ursprungliga data-sloten och dataramen. För att genomföra sammanslagningen krävs det att både det geografiska objektet och dataramen har en kolumn med ID:n att matcha på.

Både nyc_tracts och nyc_income har kolumner med trakt-ID:n, vilket gör dem till utmärkta kandidater för att slå samman de två datamängderna. Det är dock alltid klokt att kontrollera att de föreslagna ID:na är unika och att det finns en matchning för varje rad i båda datamängderna.

Låt oss kontrollera detta innan vi går vidare till sammanslagningen.

Den här övningen är en del av kursen

Visualisering av geospatial data i R

Visa kurs

Övningsinstruktioner

  • Använd any() tillsammans med duplicated()nyc_income$tract för att kontrollera att varje rad i nyc_income har ett unikt trakt-ID.
  • Använd any() tillsammans med duplicated()nyc_tracts$TRACTCE för att kontrollera att varje rad i nyc_tracts har ett unikt trakt-ID.
  • Använd all()nyc_tracts$TRACTCE %in% nyc_income$tract för att kontrollera att alla trakter i nyc_tracts finns i nyc_income.
  • Använd all()nyc_income$tract %in% nyc_tracts$TRACTCE för att kontrollera att alla trakter i nyc_income finns i nyc_tracts.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Check for duplicates in nyc_income


# Check for duplicates in nyc_tracts


# Check nyc_tracts in nyc_income


# Check nyc_income in nyc_tracts
Redigera och kör kod