IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Usa la variante di future_map() che accetta più input da iterare.
  • Combina ls_hours e ls_rates.
  • Specifica la funzione calc_payout() alla variante di future_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
___(___)
Modifica ed esegui il codice