Bootstrap อายุเฉลี่ยของมารดา
อายุมารดา หรืออายุของแม่ในขณะคลอดบุตร เป็นตัวชี้วัดสำคัญด้านสุขภาพการคลอดของประชากร อายุมารดาที่สูงหรือต่ำเกินไปอาจส่งผลเสียต่อผลลัพธ์ของการคลอดได้
คุณทำงานเป็นนักวิเคราะห์ข้อมูลให้กับกระทรวงสาธารณสุขของสหรัฐอเมริกา และได้รับรายการ ls_df ซึ่งประกอบด้วย data frame จำนวน 51 ชุด สำหรับแต่ละรัฐในสหรัฐฯ และวอชิงตัน ดีซี โดยแต่ละ data frame มีคอลัมน์ maternal_age หัวหน้าต้องการให้คุณทำ bootstrap เพื่อสร้างการกระจายของค่าเฉลี่ยอายุมารดาสำหรับแต่ละรัฐ คุณได้เขียนลูปสำหรับรัน bootstrap กับ data frame เดียวไว้แล้ว และตอนนี้ต้องนำการคำนวณนี้มาทำแบบขนาน แพ็กเกจ parallel ถูกโหลดไว้ให้เรียบร้อยแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโปรแกรมแบบขนานใน R
คำแนะนำการฝึกหัด
- ห่อหุ้มลูป bootstrap ไว้ในฟังก์ชันที่คืนค่าการกระจายของค่าเฉลี่ย
- ตั้งค่าคลัสเตอร์ที่มี 4 คอร์
- ใช้
parLapply()เพื่อรันฟังก์ชัน bootstrap กับls_dfแบบขนาน - หยุดคลัสเตอร์เมื่อการคำนวณทั้งหมดเสร็จสิ้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Wrap the loop into a function
boot_mean <- ___ (df) ___
est <- rep(0, 1e3)
for (i in 1:1e3) {
b <- sample(df$mother_age, replace = T)
est[i] <- mean(b)
}
return(est)
___
# Make a cluster of four
cl <- ___
# Apply function to ls_df in parallel
state_dist <- ___
# Stop cluster
___(cl)