Конфігурація furrr
Ви працюєте в консалтинговій компанії з питань громадського здоров'я. Ваш керівник просить вас написати паралельний код для обчислення різних квантилів розподілу тривалості життя.
У робочому середовищі є ls_exp — список векторів. Кожен елемент цього списку — це вектор оцінок тривалості життя для кожної країни. Функція calc_quant() для обчислення квантилів доступна вам. Ця функція приймає два аргументи: life_exp — вектор тривалості життя, і quant — фіксоване значення квантіля для обчислення. Значення для другого аргументу збережене як my_quant у вашому середовищі.
Вам потрібно застосувати calc_quant() до кожного елемента ls_exp, використовуючи пакет furrr.
furrr уже під'єднано для вас.
Ця вправа є частиною курсу
Паралельне програмування в R
Інструкції до вправи
- Створіть конфігурацію для функцій
furrr, щоб зазначитиmy_quantяк глобальну змінну. - У виклику
future_map()відобразьтеcalc_quant()на кожен елементls_exp. - Передайте експортовану глобальну змінну в аргумент
quantфункціїcalc_quant(). - Передайте створену раніше конфігурацію в аргумент
.options.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create a configuration to export global variables
config <- ___(globals = "___")
plan(multisession, workers = 5)
# Specify input list and function to apply
future_map(___, ___,
# Supply exported value to quant argument
quant = ___,
# Specify configuration
.options = ___)
plan(sequential)