LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Wende total_exp() parallel auf jedes Element von ls_pop und ls_exp an.
  • Gib die Liste an, deren Elemente an das Argument pop von total_exp() übergeben werden.
  • Gib entsprechend die Liste an, die an das Argument exp_pc von total_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))))))
Code bearbeiten und ausführen