การกำหนดค่าของ furrr
คุณทำงานให้กับบริษัทที่ปรึกษาด้านสาธารณสุข หัวหน้าต้องการให้เขียนโค้ดแบบขนานเพื่อคำนวณ quantile ต่างๆ ของการกระจายค่าอายุขัย
ใน workspace มี ls_exp ซึ่งเป็นลิสต์ของเวกเตอร์ แต่ละ element ในลิสต์นี้คือเวกเตอร์ของค่าประมาณอายุขัยของทุกประเทศ ฟังก์ชัน calc_quant() สำหรับคำนวณ quantile พร้อมใช้งานแล้ว โดยรับ argument สองตัว ได้แก่ life_exp ซึ่งเป็นเวกเตอร์อายุขัย และ quant ซึ่งเป็นค่าคงที่ของ quantile ที่ต้องการคำนวณ ค่าที่จะส่งให้ argument ที่สองนี้ถูกเก็บไว้เป็น my_quant ใน workspace
ต้องนำ calc_quant() ไปใช้กับแต่ละ element ของ ls_exp โดยใช้แพ็กเกจ furrr
โหลด furrr ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโปรแกรมแบบขนานใน R
คำแนะนำการฝึกหัด
- สร้างการกำหนดค่าสำหรับฟังก์ชัน
furrrเพื่อระบุให้my_quantเป็นตัวแปร global - ใน
future_map()ให้ mapcalc_quant()ไปยังทุก element ของls_exp - ส่งตัวแปร global ที่ส่งออกมาไปยัง argument
quantของcalc_quant() - ส่งการกำหนดค่าที่สร้างไว้ก่อนหน้าไปยัง argument
.options
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create a configuration to export global variables
config <- ___(globals = "___")
plan(multisession, workers = 5)
# Specify input list and function to apply
future_map(___, ___,
# Supply exported value to quant argument
quant = ___,
# Specify configuration
.options = ___)
plan(sequential)