НачатьНачать бесплатно

Расходы на здравоохранение с помощью 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))))))
Редактировать и запускать код