การแบ่ง chunk สำหรับ bootstrap
คุณกำลังศึกษาว่ามหาวิทยาลัยต่างๆ ร่วมมือกันด้านการวิจัยและพัฒนาอย่างไร ในพื้นที่ทำงานมีรายการ data frame จำนวน 100 รายการชื่อ ls_edu โดยแต่ละ data frame มีคะแนนความร่วมมือของมหาวิทยาลัยในแต่ละประเทศ
นอกจากนี้ยังมีฟังก์ชัน rating_quants() สำหรับคำนวณ quantile ของคะแนนความร่วมมือจาก data frame หนึ่งรายการ
มี core ให้ใช้งาน 5 core สำหรับการคำนวณนี้ คุณได้ลองนำ rating_quants() ไปใช้กับ ls_edu ผ่าน future_map_dfr() แต่เกิดปัญหา RAM หมดจนทำให้ R session หยุดทำงาน จึงตัดสินใจกำหนด chunk size เป็น 35 เพื่อให้รัน bootstrap ได้ไม่เกิน 3 รายการในแต่ละครั้ง โดยโหลดแพ็กเกจ furrr ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโปรแกรมแบบขนานใน R
คำแนะนำการฝึกหัด
- วางแผนแบบ multisession โดยใช้ 5 workers
- สร้างการกำหนดค่าสำหรับฟังก์ชัน
future_map_dfr()และระบุ chunk size เป็น35 - ส่งการกำหนดค่านี้ไปยัง argument ที่ถูกต้องของ
future_map_dfr() - เปลี่ยนกลับไปใช้แผนแบบ sequential
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Plan a multisession of five workers
___
# Make a configuration specifying chunk size
config <- ___
future_map_dfr(ls_edu, rating_quants,
# Supply the configuration to the correct argument
___ = ___,
.id = "country")
# Revert to sequential plan
___