สร้างจุดแบบสุ่มด้วย sf
แผนที่ dot-density สร้างขึ้นโดยการวางจุดแบบสุ่มภายในพื้นที่ต่าง ๆ โดยแต่ละจุดแทนค่าสัดส่วนของจำนวนการสังเกตการณ์หนึ่ง ๆ ในแบบฝึกหัดนี้ จะได้เรียนรู้วิธีสร้างจุดในลักษณะนี้ด้วยแพ็กเกจ sf โดยใช้ฟังก์ชัน st_sample() โดยจะสร้างจุดที่สัดส่วนเทียบเท่าประมาณ 100 คนในสำมะโนประชากร แล้วจัดกลุ่มจุดเพื่อเพิ่มความเร็วในการพล็อตด้วย ggplot2
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ข้อมูลสำมะโนประชากรสหรัฐฯ ใน R
คำแนะนำการฝึกหัด
- ใช้ฟังก์ชัน
st_sample()เพื่อสร้างจุดโดยแต่ละจุดแทนค่าประมาณ 100 คน - ใช้ฟังก์ชัน
mutate()เพื่อสร้างคอลัมน์กลุ่มใหม่ชื่อgroup - จัดกลุ่มตามคอลัมน์
groupที่สร้างขึ้น แล้ว summarize ข้อมูลเพื่อเพิ่มความเร็วในการพล็อต
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Generate dots, create a group column, and group by group column
dc_dots <- map(c("White", "Black", "Hispanic", "Asian"), function(group) {
dc_race %>%
filter(variable == group) %>%
___(., size = .$value / 100) %>%
st_sf() %>%
___(group = group)
}) %>%
reduce(rbind) %>%
group_by(___) %>%
summarize()