การประมวลผลข้อมูลนำเข้าหลายรายการ
คุณทำงานเป็นนักวิเคราะห์เงินเดือนในบริษัทรับจ้างภายนอก แต่ละเดือนจะได้รับข้อมูลของพนักงานในระบบเงินเดือน และถูกขอให้เขียนโค้ด R แบบขนานเพื่อคำนวณยอดจ่ายรวมต่อวัน
มีลิสต์สองชุดในพื้นที่ทำงาน ได้แก่ ls_hours และ ls_rates แต่ละชุดมี 30 องค์ประกอบ ซึ่งสอดคล้องกับแต่ละวันของเดือน แต่ละองค์ประกอบใน ls_hours ประกอบด้วยจำนวนชั่วโมงที่พนักงานแต่ละคนทำงานในวันนั้น และแต่ละองค์ประกอบใน ls_rates ประกอบด้วยอัตราค่าจ้างรายชั่วโมงที่สอดคล้องกัน นอกจากนี้ยังมีฟังก์ชัน calc_payout() ที่รับอาร์กิวเมนต์สองตัว ได้แก่ hours และ rates
calc_payout <- function (hours, rates) paste0("$", sum(hours * rates))
ต้องใช้ฟังก์ชันที่เหมาะสมจากแพ็กเกจ furrr เพื่อคำนวณนี้แบบขนาน โดยแพ็กเกจ furrr ได้โหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโปรแกรมแบบขนานใน R
คำแนะนำการฝึกหัด
- ใช้ฟังก์ชัน
future_map()รูปแบบที่รับข้อมูลนำเข้าหลายรายการสำหรับการวนซ้ำ - รวม
ls_hoursและls_ratesเข้าด้วยกัน - ระบุฟังก์ชัน
calc_payout()ให้กับฟังก์ชันfuture_map()รูปแบบนั้น - เปลี่ยนกลับไปใช้แผนแบบลำดับ (sequential plan)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
plan(multisession, workers = 5)
# Use the correct future_map() variant
___(
# Combine ls_hours and ls_rates
___(___, ___),
# Specify the function to apply
___)
# Revert to sequential plan
___(___)