Gesundheitsausgaben mit clusterMap()
Auf einer kürzlich stattgefundenen Gesundheitskonferenz wurde behauptet, dass die gesamten Gesundheitsausgaben weltweit steigen.
Du warst dabei und möchtest grobe Schätzungen anstellen, um diese Behauptung zu prüfen. Du hast einen Datensatz gefunden, der dir die Gesundheitsausgaben pro Kopf und die Bevölkerungszahl ab dem Jahr 2000 liefert. Du hast zwei Listen: ls_pop und ls_exp. Sie enthalten jeweils die Bevölkerungsgrößen und die Gesundheitsausgaben pro Kopf für jedes Land.
Die Funktion total_exp() nimmt zwei Argumente: pop für die Bevölkerung und exp_pc für die Gesundheitsausgaben pro Kopf. Diese Funktion gibt die Gesamtausgaben in Milliarden US-Dollar zurück. Du möchtest diese Funktion parallel auf ls_pop und ls_exp anwenden. Das Paket parallel wurde geladen.
Diese Übung ist Teil des Kurses
Paralleles Programmieren in R
Anleitung zur Übung
- Wende
total_exp()parallel auf jedes Element vonls_popundls_expan. - Gib die Liste an, deren Elemente an das Argument
popvontotal_exp()übergeben werden. - Gib entsprechend die Liste an, die an das Argument
exp_pcvontotal_exp()übergeben wird.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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))))))