Dépenses de santé avec clusterMap()
Lors d'une récente conférence sur la santé, on a affirmé que les dépenses totales en santé augmentent à l'échelle mondiale.
Vous y étiez et vous souhaitez obtenir quelques estimations approximatives pour vérifier cette affirmation. Vous avez trouvé un jeu de données qui fournit les dépenses de santé par habitant et la population pour l'an 2000 et les années suivantes. Vous avez deux listes : ls_pop et ls_exp. Elles contiennent respectivement la taille de la population et les dépenses de santé par habitant pour chaque pays.
La fonction total_exp() prend deux arguments : pop, soit la population, et exp_pc, les dépenses de santé par habitant. Cette fonction retourne les dépenses totales en milliards de dollars US. Vous voulez appliquer cette fonction à ls_pop et ls_exp en parallèle. Le paquet parallel a été chargé.
Cette activité fait partie du cours
Programmation parallèle en R
Instructions de l’exercice
- Appliquez
total_exp()en parallèle à chaque élément dels_popetls_exp. - Indiquez la liste dont les éléments seront fournis à l'argument
popdetotal_exp(). - De même, indiquez la liste qui sera fournie à l'argument
exp_pcdetotal_exp().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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))))))