การ Subset ด้วย Index
การ subset ออบเจกต์ Spatial___DataFrame ถูกออกแบบมาให้ทำงานเหมือนกับการ subset data frame ทั่วไป นั่นคือคิดในแง่ของการเลือกแถวจาก data frame แต่ผลลัพธ์ที่ได้จะเป็น Spatial___DataFrame ใหม่ที่มีเฉพาะแถวข้อมูลที่ต้องการ พร้อมกับ ออบเจกต์เชิงพื้นที่ที่สอดคล้องกัน
การ subset ที่ง่ายที่สุดคือการใช้ index เช่น ถ้า x เป็น data frame คำสั่ง x[1, ] จะคืนค่าแถวแรก แต่ถ้า x เป็น Spatial___DataFrame จะได้ Spatial___DataFrame ใหม่ที่มีแถวข้อมูลแรกพร้อมกับข้อมูลเชิงพื้นที่ที่สัมพันธ์กับแถวนั้น
ข้อดีของการคืนค่าเป็น Spatial___DataFrame คือยังสามารถใช้เมธอดเดิมทั้งหมดได้เหมือนก่อนการ subset
ลองทดสอบกับประเทศลำดับที่ 169 กัน!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างภาพข้อมูลภูมิสารสนเทศใน R
คำแนะนำการฝึกหัด
- สร้างตัวแปรใหม่ชื่อ
usaโดย subset องค์ประกอบลำดับที่ 169 จากcountries_spdf - เรียก
summary()บนusaตรวจสอบว่าusaยังคงเป็น SpatialPolygonsDataFrame - เรียก
str()โดยกำหนดmax.level = 2บนusaตรวจสอบว่า slotpolygonsมีเพียงหนึ่งองค์ประกอบ และ slotdataมีเพียงหนึ่งแถว - เรียก
plot()บนusa
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Subset the 169th object of countries_spdf: usa
# Look at summary() of usa
# Look at str() of usa
# Call plot() on usa