CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • 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 qui sera fournie à l'argument exp_pc de total_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))))))
Modifier et exécuter le code