CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Appliquez total_exp() en parallèle à chaque élément de ls_pop et ls_exp.
  • Indiquez la liste dont les éléments seront fournis à l’argument pop de total_exp().
  • De même, indiquez la liste à fournir à l’argument exp_pc de total_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))))))
Modifier et exécuter le code