LoslegenKostenlos loslegen

Überprüfen, ob die Daten zusammenpassen

Das Erzwingen deiner Daten in den data-Slot funktioniert nicht, weil dabei die korrekte Zuordnung zwischen Zeilen und räumlichen Objekten verloren geht. Wie fügst du die Einkommensdaten zu den Polygon-Daten hinzu? Die Funktion merge() in sp wurde genau für diesen Zweck entwickelt.

Vielleicht hast du merge() schon mit Data Frames gesehen. sp::merge() hat fast die gleiche Struktur, aber du übergibst ein Spatial***-Objekt und einen Data Frame, und es gibt ein neues Spatial***-objekt zurück, bei dem der data-Slot jetzt eine Zusammenführung aus dem ursprünglichen data-Slot und dem Data Frame ist. Für dieses Merge benötigen sowohl das räumliche Objekt als auch der Data Frame eine Spalte mit IDs, auf deren Grundlage abgeglichen wird.

Sowohl nyc_tracts als auch nyc_income enthalten Spalten mit Tract-IDs und sind daher sehr gut geeignet, um die beiden Datensätze zu mergen. Es ist jedoch immer eine gute Idee zu prüfen, ob die vorgeschlagenen IDs eindeutig sind und ob es für jede Zeile in beiden Datensätzen eine Entsprechung gibt.

Lass uns das prüfen, bevor wir mit dem Merge weitermachen.

Diese Übung ist Teil des Kurses

Geodaten in R visualisieren

Kurs anzeigen

Anleitung zur Übung

  • Verwende any() mit duplicated() auf nyc_income$tract, um zu prüfen, ob jede Zeile in nyc_income eine eindeutige Tract-ID hat.
  • Verwende any() mit duplicated() auf nyc_tracts$TRACTCE, um zu prüfen, ob jede Zeile in nyc_tracts eine eindeutige Tract-ID hat.
  • Verwende all() auf nyc_tracts$TRACTCE %in% nyc_income$tract, um zu prüfen, ob alle Tracts aus nyc_tracts in nyc_income enthalten sind.
  • Verwende all() auf nyc_income$tract %in% nyc_tracts$TRACTCE, um zu prüfen, ob alle Tracts aus nyc_income in nyc_tracts enthalten sind.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen