Dépenses de santé avec clusterMap()
Lors d’une récente conférence sur la santé, il a été affirmé que les dépenses de santé totales augmentent à l’échelle mondiale.
Vous étiez présent et souhaitez obtenir des estimations rapides pour tester cette affirmation. Vous avez trouvé un jeu de données donnant les dépenses de santé par habitant et la population à partir de l’an 2000. Vous disposez de deux listes : ls_pop et ls_exp. Elles contiennent respectivement les tailles de population et les dépenses de santé par habitant pour chaque pays.
La fonction total_exp() prend deux arguments : pop (population) et exp_pc (dépenses de santé par habitant). Cette fonction renvoie la dépense totale en milliards de dollars américains. Vous souhaitez appliquer cette fonction à ls_pop et ls_exp en parallèle. Le package parallel a été chargé.
Cet exercice fait partie du cours
Programmation parallèle en R
Instructions
- 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 à fournir à l’argument
exp_pcdetotal_exp().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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))))))