Začněte nyníZačněte zdarma

Zpracování více vstupů

Pracuješ jako mzdový analytik v outsourcingové firmě. Každý měsíc dostáváš data o pracovnících ve své mzdové agendě a tvým úkolem je napsat paralelní R kód, který vypočítá celkovou mzdu za každý den.

V pracovním prostředí máš k dispozici dva listy: ls_hours a ls_rates. Každý z nich obsahuje 30 prvků – jeden pro každý den v měsíci. Každý prvek ls_hours obsahuje počet odpracovaných hodin jednotlivých pracovníků v daný den, každý prvek ls_rates pak odpovídající hodinové sazby. Máš také funkci calc_payout(), která přijímá dva argumenty: hours a rates.

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

Pro tento výpočet použij vhodnou funkci z balíčku furrr, která ho provede paralelně. Balíček furrr je již načtený.

Toto cvičení je součástí kurzu

Paralelní programování v R

Zobrazit kurz

Pokyny k cvičení

  • Použij variantu future_map(), která umožňuje iterovat přes více vstupů.
  • Zkombinuj ls_hours a ls_rates.
  • Jako funkci pro variantu future_map() zadej calc_payout().
  • Přepni zpět na sekvenční plán.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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
___(___)
Upravit a spustit kód