การทำ Linear Regression กับแต่ละชุดข้อมูลที่ซ้อนอยู่
หลังจากแยกข้อมูลของแต่ละประเทศออกเป็นชุดข้อมูลย่อยในคอลัมน์ data แล้ว ขั้นตอนต่อไปคือการ fit โมเดลเชิงเส้นให้กับแต่ละชุดข้อมูลเหล่านั้น
ฟังก์ชัน map() จากแพ็กเกจ purrr ทำงานโดยนำ formula ไปใช้กับแต่ละรายการในลิสต์ โดย . แทนรายการแต่ละตัว ตัวอย่างเช่น การบวก 1 เข้ากับทุกตัวเลขในลิสต์:
map(numbers, ~ 1 + .)
ดังนั้น หากต้องการ fit โมเดลให้กับแต่ละชุดข้อมูล สามารถทำได้ดังนี้:
map(data, ~ lm(percent_yes ~ year, data = .))
โดย . แทนแต่ละรายการจากคอลัมน์ data ใน by_year_country ซึ่งแต่ละรายการในคอลัมน์ data คือชุดข้อมูลที่เป็นของแต่ละประเทศโดยเฉพาะ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
กรณีศึกษา: การวิเคราะห์เชิงสำรวจข้อมูลใน R
คำแนะนำการฝึกหัด
- โหลดแพ็กเกจ
tidyrและpurrr - หลังจาก nesting แล้ว ใช้ฟังก์ชัน
map()ภายในmutate()เพื่อทำ linear regression กับแต่ละชุดข้อมูล (กล่าวคือ แต่ละรายการในคอลัมน์dataของby_year_country) โดยโมเดลpercent_yesเป็นฟังก์ชันของyearแล้วบันทึกผลลัพธ์ไว้ในคอลัมน์model
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)