LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • 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 Ü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
___(___)
Code bearbeiten und ausführen