Kom igångKom igång gratis

Bearbeta flera indata

Du arbetar som löneanalytiker på ett outsourcingföretag. Varje månad tar du emot data för de anställda på din lönelista. Du har fått i uppgift att skriva parallell R-kod som beräknar den totala utbetalningen per dag.

Du har två listor i din miljö, ls_hours och ls_rates. Vardera har 30 element – ett för varje dag i månaden. Varje element i ls_hours består av antalet arbetade timmar per anställd en given dag, och varje element i ls_rates innehåller motsvarande timlöner. Du har även funktionen calc_payout(), som tar två argument: hours och rates.

calc_payout <- function (hours, rates) paste0("$", sum(hours * rates))

Du behöver använda rätt funktion från paketet furrr för att utföra beräkningen parallellt. Paketet furrr är redan inläst.

Den här övningen är en del av kursen

Parallell programmering i R

Visa kurs

Övningsinstruktioner

  • Använd den variant av future_map() som tar flera indata att iterera över.
  • Kombinera ls_hours och ls_rates.
  • Ange funktionen calc_payout() till varianten av future_map().
  • Återgå till en sekventiell plan.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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
___(___)
Redigera och kör kod