Procesarea mai multor intrări
Lucrezi ca Analist de Salarizare pentru o firmă de externalizare. În fiecare lună, primești date despre angajații din statul de plată. Ți s-a cerut să scrii cod R paralel care să calculeze plata totală pe zi.
Ai două liste în spațiul de lucru: ls_hours și ls_rates. Fiecare are 30 de elemente, câte unul pentru fiecare zi a lunii. Fiecare element din ls_hours conține orele lucrate de fiecare angajat într-o anumită zi, iar fiecare element din ls_rates conține tarifele orare corespunzătoare. Ai și o funcție, calc_payout(), care primește două argumente: hours și rates.
calc_payout <- function (hours, rates) paste0("$", sum(hours * rates))
Trebuie să folosești funcția potrivită din pachetul furrr pentru a efectua acest calcul în paralel. Pachetul furrr a fost deja încărcat.
Acest exercițiu face parte din cursul
Programare paralelă în R
Instrucțiuni pentru exercițiu
- Folosește varianta
future_map()care acceptă mai multe intrări peste care să itereze. - Combină
ls_hoursșils_rates. - Specifică funcția
calc_payout()ca argument al varianteifuture_map(). - Revino la un plan secvențial.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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
___(___)