LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

  • Verwende die future_map()-Variante, die mehrere Eingaben entgegennimmt, um darüber zu iterieren.
  • Kombiniere ls_hours und ls_rates.
  • Gib die Funktion calc_payout() an die future_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
___(___)
Code bearbeiten und ausführen