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

Витрати на охорону здоровʼя з clusterMap()

На нещодавній конференції з охорони здоровʼя пролунала теза, що сукупні витрати на охорону здоровʼя зростають у всьому світі.

Ви були присутні та хочете отримати приблизні оцінки, щоб перевірити це твердження. Ви знайшли набір даних із витратами на охорону здоровʼя на душу населення та чисельністю населення, починаючи з 2000 року. У вас є два списки: ls_pop і ls_exp. Вони містять, відповідно, чисельність населення та витрати на охорону здоровʼя на душу населення для кожної країни.

Маєте функцію total_exp(), яка приймає два аргументи: pop — чисельність населення, і exp_pc — витрати на охорону здоровʼя на душу населення. Ця функція повертає загальні витрати в мільярдах доларів США. Ви хочете застосувати цю функцію до ls_pop і ls_exp паралельно. Пакет parallel уже завантажено.

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

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

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

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

  • Застосуйте total_exp() паралельно до кожного елемента ls_pop і ls_exp.
  • Укажіть список, елементи якого буде передано до аргументу pop функції total_exp().
  • Так само укажіть список, який буде передано до аргументу exp_pc функції total_exp().

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

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

total_exp <- function (pop, exp_pc) {
 sum(pop * exp_pc)/1e9
}

cl <- makeCluster(4)
# Apply total_exp using cl to multiple arguments
ls_total <- ___(___, ___,
                       # Specify first argument
                       pop = ___,
                       # Specify second argument
                       exp_pc = ___)

stopCluster(cl)

print(paste("Average yearly increase in USD billions:", round(mean(diff(unlist(ls_total))))))
Редагувати та запускати код