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

การประมวลผลข้อมูลนำเข้าหลายรายการ

คุณทำงานเป็นนักวิเคราะห์เงินเดือนในบริษัทรับจ้างภายนอก แต่ละเดือนจะได้รับข้อมูลของพนักงานในระบบเงินเดือน และถูกขอให้เขียนโค้ด 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
___(___)
แก้ไขและรันโค้ด