Elaborare più input
Lavori come Payroll Analyst per un’azienda di outsourcing. Ogni mese ricevi i dati delle persone in busta paga. Ti è stato chiesto di scrivere codice R parallelo che calcoli il totale da pagare per giorno.
Nel tuo workspace hai due liste, ls_hours e ls_rates. Ognuna ha 30 elementi, uno per ogni giorno del mese. Ogni elemento di ls_hours contiene le ore lavorate da ciascun lavoratore in un dato giorno, e ogni elemento di ls_rates contiene le relative tariffe orarie. Hai anche una funzione, calc_payout(), che accetta due argomenti, hours e rates.
calc_payout <- function (hours, rates) paste0("$", sum(hours * rates))
Devi usare la funzione appropriata del pacchetto furrr per effettuare questo calcolo in parallelo. Il pacchetto furrr è già stato caricato per te.
Questo esercizio fa parte del corso
Programmazione parallela in R
Istruzioni dell'esercizio
- Usa la variante di
future_map()che accetta più input da iterare. - Combina
ls_hoursels_rates. - Specifica la funzione
calc_payout()alla variante difuture_map(). - Torna a un piano sequenziale.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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
___(___)