เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การตรวจสอบข้อมูลก่อนนำมาจับคู่

การบังคับใส่ข้อมูลเข้าไปใน slot data โดยตรงนั้นไม่ได้ผล เพราะจะทำให้ความสัมพันธ์ที่ถูกต้องระหว่างแถวและ spatial object สูญหายไป แล้วจะเพิ่มข้อมูลรายได้เข้าไปใน polygon data ได้อย่างไร? ฟังก์ชัน merge() ใน sp ถูกออกแบบมาเพื่อจุดประสงค์นี้โดยเฉพาะ

อาจเคยใช้ merge() กับ data frame มาก่อน sp::merge() มีโครงสร้างที่คล้ายกันมาก แต่รับ Spatial*** object และ data frame เป็น input แล้วคืนค่าเป็น Spatial*** object ใหม่ ซึ่ง slot data จะเป็นผลการ merge ระหว่าง slot data เดิมกับ data frame นั้น การ merge นี้ต้องการให้ทั้ง spatial object และ data frame มีคอลัมน์ที่ใช้เป็น ID สำหรับจับคู่ร่วมกัน

ทั้ง nyc_tracts และ nyc_income ต่างมีคอลัมน์ที่เก็บ tract ID จึงเหมาะอย่างยิ่งสำหรับการ merge สองชุดข้อมูลนี้เข้าด้วยกัน อย่างไรก็ตาม ควรตรวจสอบให้แน่ใจก่อนว่า ID ที่จะใช้นั้นไม่ซ้ำกัน และมีค่าที่ตรงกันครบทุกแถวในทั้งสองชุดข้อมูล

มาตรวจสอบสิ่งเหล่านี้ก่อนที่จะไปขั้นตอนการ merge

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การสร้างภาพข้อมูลภูมิสารสนเทศใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ any() ร่วมกับ duplicated() บน nyc_income$tract เพื่อตรวจสอบว่าทุกแถวใน nyc_income มี tract ID ที่ไม่ซ้ำกัน
  • ใช้ any() ร่วมกับ duplicated() บน nyc_tracts$TRACTCE เพื่อตรวจสอบว่าทุกแถวใน nyc_tracts มี tract ID ที่ไม่ซ้ำกัน
  • ใช้ all() บน nyc_tracts$TRACTCE %in% nyc_income$tract เพื่อตรวจสอบว่า tract ทั้งหมดใน nyc_tracts มีอยู่ใน nyc_income
  • ใช้ all() บน nyc_income$tract %in% nyc_tracts$TRACTCE เพื่อตรวจสอบว่า tract ทั้งหมดใน 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
แก้ไขและรันโค้ด