ПочатиПочніть безкоштовно

Обробка кількох вхідних даних

Ви працюєте аналітиком з нарахування заробітної плати в аутсорсинговій компанії. Щомісяця ви отримуєте дані щодо працівників у вашому платіжному реєстрі. Вас попросили написати паралельний код R, який зможе розрахувати загальні виплати за день.

У вашому середовищі є два списки: ls_hours і ls_rates. Кожен містить 30 елементів — по одному на кожен день місяця. Кожен елемент ls_hours складається з кількості відпрацьованих годин кожним працівником у певний день, а кожен елемент ls_rates містить відповідні погодинні ставки. Також у вас є функція calc_payout(), яка приймає два аргументи: hours і rates.

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

Вам потрібно використати відповідну функцію з пакета furrr, щоб виконати це обчислення паралельно. Пакет furrr уже завантажено для вас.

Ця вправа є частиною курсу

Паралельне програмування в R

Переглянути курс

Інструкції до вправи

  • Використайте різновид future_map(), який підтримує кілька вхідних послідовностей для ітерації.
  • Об'єднайте ls_hours і ls_rates.
  • Передайте функцію calc_payout() до відповідного різновиду future_map().
  • Поверніться до послідовного плану.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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
___(___)
Редагувати та запускати код