การ Map ข้อมูล
เมื่อใช้ร่วมกับ mutate() ฟังก์ชัน map() ช่วยให้นำผลลัพธ์จากการคำนวณมาเพิ่มต่อท้าย data frame ได้ เนื่องจาก map() คืนค่าเป็นเวกเตอร์ของ list เสมอ จึงต้องใช้ unnest() เพื่อแปลงข้อมูลนั้นให้เป็นเวกเตอร์เชิงตัวเลข
ในแบบฝึกหัดนี้ จะได้ลองใช้ฟังก์ชันดังกล่าวโดยคำนวณค่าเฉลี่ยประชากรของแต่ละประเทศในชุดข้อมูล gapminder
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning ใน Tidyverse
คำแนะนำการฝึกหัด
- ใช้
map()เพื่อนำฟังก์ชันmean()ไปคำนวณค่าเฉลี่ยประชากรของแต่ละประเทศ แล้วเพิ่ม list column ใหม่ชื่อmean_popด้วยmutate() - สำรวจ 6 แถวแรกของ
pop_nested - ใช้
unnest()เพื่อแปลง listmean_popให้เป็นคอลัมน์ตัวเลข และบันทึกผลลัพธ์เป็น data frame ชื่อpop_mean - สำรวจ
pop_meanด้วยhead()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Calculate the mean population for each country
pop_nested <- gap_nested %>%
mutate(mean_pop = map(___, ~mean(.x$___)))
# Take a look at pop_nested
head(___)
# Extract the mean_pop value by using unnest
pop_mean <- pop_nested %>%
unnest(___)
# Take a look at pop_mean
head(___)