การเข้าถึงข้อมูลใน sp objects
การรู้ index ของ element ที่ต้องการเก็บไว้อย่างแม่นยำนั้นเกิดขึ้นได้ยาก ส่วนใหญ่แล้วมักต้องการ subset ข้อมูลตาม attribute ของข้อมูลมากกว่า คุณเห็นแล้วว่าข้อมูลที่เชื่อมกับ Spatial___DataFrame อยู่ใน slot data แต่โดยปกติเราจะไม่เข้าถึง slot นี้โดยตรง
แต่การใช้ $ และ [[ กับ Spatial___DataFrame จะดึงคอลัมน์จาก data frame ได้โดยตรง กล่าวคือ ถ้า x เป็น object ประเภท Spatial___DataFrame แล้ว x$col_name หรือ x[["col_name"]] จะดึงคอลัมน์ col_name ออกมาจาก data frame ลองคิดว่านี่คือทางลัด แทนที่จะต้องดึงคอลัมน์ที่ต้องการผ่าน slot data (เช่น x@data$col_name) สามารถใช้แค่ x$col_name ได้เลย
เริ่มจากการยืนยันว่า object ใน slot data เป็น data frame ธรรมดา จากนั้นลองฝึกดึงคอลัมน์ออกมา
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างภาพข้อมูลภูมิสารสนเทศใน R
คำแนะนำการฝึกหัด
- เรียก
head()และstr()(ทีละครั้ง) บน slotdataของcountries_spdfตรวจสอบว่า object นี้เป็นแค่ data frame ธรรมดา - ดึงคอลัมน์
nameของcountries_spdfโดยใช้$ - ดึงคอลัมน์
subregionของcountries_spdfโดยใช้[[
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Call head() and str() on the data slot of countries_spdf
# Pull out the name column using $
# Pull out the subregion column using [[