Spesa sanitaria con clusterMap()
In una recente conferenza sulla sanità, è stato affermato che la spesa sanitaria totale è in aumento a livello globale.
Eri presente e vorresti ottenere delle stime rapide per verificare questa affermazione. Hai trovato un insieme di dati che fornisce la spesa sanitaria pro capite e la popolazione dall'anno 2000 in poi. Hai due liste: ls_pop e ls_exp. Contengono, rispettivamente, le dimensioni della popolazione e la spesa sanitaria pro capite per ciascun paese.
La funzione total_exp() accetta due argomenti: pop, ovvero la popolazione, ed exp_pc, la spesa sanitaria pro capite. Questa funzione restituisce la spesa totale in miliardi di dollari statunitensi. Vorresti applicare questa funzione a ls_pop e ls_exp in parallelo. Il pacchetto parallel è già stato caricato.
Questo esercizio fa parte del corso
Programmazione parallela in R
Istruzioni dell'esercizio
- Applica
total_exp()in parallelo a ciascun elemento dils_popels_exp. - Specifica la lista i cui elementi andranno all'argomento
popditotal_exp(). - Allo stesso modo, specifica la lista da fornire all'argomento
exp_pcditotal_exp().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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))))))