開始使用免費開始

檢查資料是否能對應

直接把你的資料硬塞進 data 欄位不可行,因為你會失去列與空間物件之間正確的對應關係。要如何把收入資料加到多邊形資料上?sp 套件中的 merge() 就是為此而設計。

你可能在資料框上用過 merge()。sp::merge() 的結構幾乎一樣,不過它接收一個 Spatial*** 物件與一個資料框,並回傳一個新的 Spatial*** 物件,其中的 data 欄位是原本 data 欄位與該資料框合併後的結果。要完成這個合併,空間物件與資料框都需要各自有一個包含可配對 ID 的欄位。

nyc_tracts 與 nyc_income 都有分區(tract)ID 的欄位,因此很適合用來合併這兩個資料集。不過,事先檢查這些候選 ID 是否唯一,且兩個資料集中每一列是否都有相對應的配對,始終是好主意。

在進行合併前,先來做這些檢查。

本練習屬於課程

在 R 視覺化地理空間資料

檢視課程

練習說明

  • 對 nyc_income$tract 使用 any() 與 duplicated(),檢查 nyc_income 中每一列是否都有唯一的分區 ID。
  • 對 nyc_tracts$TRACTCE 使用 any() 與 duplicated(),檢查 nyc_tracts 中每一列是否都有唯一的分區 ID。
  • 對 nyc_tracts$TRACTCE %in% nyc_income$tract 使用 all(),檢查 nyc_tracts 的分區是否全部存在於 nyc_income。
  • 對 nyc_income$tract %in% nyc_tracts$TRACTCE 使用 all(),檢查 nyc_income 的分區是否全部存在於 nyc_tracts。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Check for duplicates in nyc_income


# Check for duplicates in nyc_tracts


# Check nyc_tracts in nyc_income


# Check nyc_income in nyc_tracts
編輯並執行程式碼