เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การแบ่ง 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
___
แก้ไขและรันโค้ด