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
<Kurs>Paralleles Programmieren in R</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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
___(___)