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
Övningsinstruktioner
- Använd den variant av
future_map()som tar flera indata att iterera över. - Kombinera
ls_hoursochls_rates. - Ange funktionen
calc_payout()till varianten avfuture_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
___(___)