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