Mehrere Eingaben verarbeiten
Du arbeitest als Payroll-Analyst bei einem Outsourcing-Unternehmen. Jeden Monat erhältst du Daten zu den Beschäftigten in deiner Lohnbuchhaltung. Du sollst parallelisiertes R-Code schreiben, der die gesamte Auszahlung pro Tag berechnet.
In deinem Workspace gibt es zwei Listen, ls_hours und ls_rates. Jede hat 30 Elemente, eins für jeden Tag des Monats. Jedes Element von ls_hours enthält die von jedem Beschäftigten an einem bestimmten Tag geleisteten Stunden, und jedes Element von ls_rates enthält die entsprechenden Stundensätze. Außerdem gibt es eine Funktion calc_payout(), die zwei Argumente annimmt: hours und rates.
calc_payout <- function (hours, rates) paste0("$", sum(hours * rates))
Du musst die passende Funktion aus dem Paket furrr verwenden, um diese Berechnung parallel auszuführen. Das Paket furrr wurde bereits für dich geladen.
Diese Übung ist Teil des Kurses
Paralleles Programmieren in R
Anleitung zur Übung
- Verwende die
future_map()-Variante, die mehrere Eingaben entgegennimmt, um darüber zu iterieren. - Kombiniere
ls_hoursundls_rates. - Gib die Funktion
calc_payout()an diefuture_map()-Variante an. - Wechsle wieder zu einem sequenziellen Plan.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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
___(___)