1. Lära sig
  2. /
  3. Courses
  4. /
  5. R で地理空間データを可視化する

Connected

exercise

データが一致するかの確認

data スロットに無理やりデータを入れてもうまくいかないのは、行と空間オブジェクトの正しい対応関係が失われてしまうからです。では、所得データをポリゴンデータにどう追加すればよいでしょうか? そのために用意されているのが sp の merge() 関数です。

merge() をデータフレームで見たことがあるかもしれません。sp::merge() もほぼ同じ構造ですが、Spatial*** オブジェクトとデータフレームを渡すと、新しい Spatial*** オブジェクトを返します。このとき data スロットは、元の data スロットとデータフレームをマージしたものになります。マージを行うには、空間オブジェクトとデータフレームの双方に、対応付けに使う ID を含む列が必要です。

nyc_tracts と nyc_income のどちらにも地区(tract)の ID 列があるので、2つのデータセットをマージするのに最適です。ただし、提案する ID が一意であること、そして双方のデータセットのすべての行に対応があることを確認するのは常に良い習慣です。

マージに進む前に、これを確認しておきましょう。

Instruktioner

100 XP
  • nyc_income$tract に対して duplicated() と any() を使い、nyc_income の各行が一意の tract ID を持つか確認してください。
  • nyc_tracts$TRACTCE に対して duplicated() と any() を使い、nyc_tracts の各行が一意の tract ID を持つか確認してください。
  • nyc_tracts$TRACTCE %in% nyc_income$tract に all() を使い、nyc_tracts の tract がすべて nyc_income に含まれているか確認してください。
  • nyc_income$tract %in% nyc_tracts$TRACTCE に all() を使い、nyc_income の tract がすべて nyc_tracts に含まれているか確認してください。