1. Nauka
  2. /
  3. Kursy
  4. /
  5. Programowanie równoległe w R

Connected

ćwiczenie

Przetwarzanie wielu danych wejściowych

Pracujesz jako analityk ds. wynagrodzeń w firmie outsourcingowej. Co miesiąc otrzymujesz dane dotyczące pracowników na liście płac. Twoim zadaniem jest napisanie równoległego kodu w R, który obliczy łączną wypłatę za każdy dzień.

W przestrzeni roboczej masz dwie listy: ls_hours i ls_rates. Każda z nich zawiera 30 elementów – po jednym na każdy dzień miesiąca. Każdy element listy ls_hours przechowuje liczbę przepracowanych godzin przez poszczególnych pracowników w danym dniu, a każdy element listy ls_rates zawiera odpowiadające im stawki godzinowe. Dysponujesz również funkcją calc_payout(), która przyjmuje dwa argumenty: hours i rates.

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

Użyj odpowiedniej funkcji z pakietu furrr, aby wykonać to obliczenie równolegle. Pakiet furrr jest już wczytany.

Instrukcje

100 XP
  • Użyj wariantu future_map(), który obsługuje wiele danych wejściowych do iteracji.
  • Połącz ls_hours i ls_rates.
  • Wskaż funkcję calc_payout() jako argument wariantu future_map().
  • Przywróć plan sekwencyjny.