Tidy โมเดลการถดถอยเชิงเส้นแต่ละตัว
ตอนนี้คุณได้รันการถดถอยเชิงเส้นกับชุดข้อมูลที่ nested ไว้แล้ว และได้โมเดลเชิงเส้นเก็บอยู่ในคอลัมน์ list ชื่อ model แต่ก่อนที่จะนำโมเดลเหล่านี้มารวมกันได้ ต้องทำการ tidy แต่ละโมเดลให้กลายเป็นตารางของค่าสัมประสิทธิ์ก่อน โดยใช้ map() อีกครั้งร่วมกับฟังก์ชัน tidy() จากแพ็กเกจ broom
จำไว้ว่าสามารถส่งฟังก์ชันให้ map() ได้โดยตรง (เช่น map(models, tidy)) เพื่อนำฟังก์ชันนั้นไปใช้กับแต่ละรายการในลิสต์
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
กรณีศึกษา: การวิเคราะห์เชิงสำรวจข้อมูลใน R
คำแนะนำการฝึกหัด
- โหลดแพ็กเกจ
broom - ใช้ฟังก์ชัน
map()เพื่อนำฟังก์ชันtidy()ไปใช้กับโมเดลเชิงเส้นแต่ละตัวในคอลัมน์modelแล้วสร้างคอลัมน์ใหม่ชื่อtidied
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Load the broom package
# Add another mutate that applies tidy() to each model
by_year_country %>%
nest(-country) %>%
mutate(model = map(data, ~ lm(percent_yes ~ year, data = .)))