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

รวมทุกอย่างเข้าด้วยกัน

ตอนนี้เรามีแผนที่ Corvallis ที่สวยงามแล้ว แต่จะนำตำแหน่งของการขายบ้านมาแสดงทับบนแผนที่ได้อย่างไร?

เช่นเดียวกับ ggplot() คุณสามารถเพิ่ม layer ของข้อมูลต่อท้ายการเรียก ggmap() ได้ (เช่น + geom_point()) อย่างไรก็ตาม สิ่งสำคัญที่ต้องทราบคือ ggmap() จะกำหนดแผนที่เป็น dataset เริ่มต้น และยังกำหนด aesthetic mapping เริ่มต้นด้วย

นั่นหมายความว่า หากต้องการเพิ่ม layer จากแหล่งข้อมูลอื่นที่ไม่ใช่แผนที่ (เช่น sales) จะต้องระบุทั้งอาร์กิวเมนต์ mapping และ data ใน geom อย่างชัดเจน

หน้าตาของโค้ดเป็นอย่างไร? ลองดูวิธีสร้าง plot พื้นฐานของข้อมูล sales:

ggplot(sales, aes(lon, lat)) + 
  geom_point()

วิธีที่เทียบเท่ากันในการระบุ plot เดียวกันคือ:

ggplot() + 
  geom_point(aes(lon, lat), data = sales)

ที่นี่ เราระบุ data และ mapping ในการเรียก geom_point() แทนที่จะระบุใน ggplot() ข้อดีของการเขียนโค้ดแบบนี้คือสามารถสลับ ggplot() เป็นการเรียก ggmap() เพื่อให้มีแผนที่เป็นพื้นหลังของ plot ได้

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

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

ดูคอร์ส

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

แพ็กเกจ ggmap ถูกโหลดให้แล้ว และ corvallis_map จากแบบฝึกหัดก่อนหน้าพร้อมใช้งานใน workspace ของคุณ

  • ขั้นแรก ลองดู head() ของข้อมูล sales แล้วสังเกตว่ามีคอลัมน์ใดบ้างที่ระบุตำแหน่งของบ้าน
  • สลับการเรียก ggplot() เป็นการเรียก ggmap() โดยใช้ corvallis_map

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Look at head() of sales


# Swap out call to ggplot() with call to ggmap()
ggplot() +
  geom_point(aes(lon, lat), data = sales)
แก้ไขและรันโค้ด