Aan de slagGa gratis aan de slag

Meerdere inputs verwerken

Je werkt als Payroll Analyst bij een outsourcingbedrijf. Elke maand ontvang je gegevens voor de werknemers op je loonlijst. Je bent gevraagd om parallelle R-code te schrijven die de totale uitbetaling per dag kan berekenen.

Je hebt twee lijsten in je werkruimte, ls_hours en ls_rates. Beide hebben 30 elementen, één voor elke dag van de maand. Elk element van ls_hours bestaat uit de gewerkte uren per werknemer op een bepaalde dag, en elk element van ls_rates bevat de bijbehorende uur tarieven. Je hebt ook een functie, calc_payout(), die twee argumenten accepteert: hours en rates.

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

Je moet de juiste functie uit het furrr-pakket gebruiken om deze berekening parallel uit te voeren. Het furrr-pakket is al voor je geladen.

Deze oefening maakt deel uit van de cursus

Parallel programmeren in R

Cursus bekijken

Oefeninstructies

  • Gebruik de future_map()-variant die meerdere inputs accepteert om over te itereren.
  • Combineer ls_hours en ls_rates.
  • Geef de functie calc_payout() op aan de future_map()-variant.
  • Ga terug naar een sequentieel plan.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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
___(___)
Code bewerken en uitvoeren