Sjukvårdsutgifter med clusterMap()
Vid en nyligen genomförd sjukvårdskonferens hävdades det att de totala sjukvårdsutgifterna ökar globalt.
Du deltog i konferensen och vill nu göra några snabba uppskattningar för att testa detta påstående. Du har hittat en datamängd med sjukvårdsutgifter per capita och befolkningsdata för år 2000 och framåt. Du har två listor: ls_pop och ls_exp. De innehåller befolkningsstorlekar respektive sjukvårdsutgifter per capita för varje land.
Funktionen total_exp() tar två argument: pop för befolkning och exp_pc för sjukvårdsutgifter per capita. Funktionen returnerar de totala utgifterna i miljarder US-dollar. Du vill applicera den här funktionen på ls_pop och ls_exp parallellt. Paketet parallel har redan laddats in.
Den här övningen är en del av kursen
Parallell programmering i R
Övningsinstruktioner
- Applicera
total_exp()parallellt på varje element ils_popochls_exp. - Ange den lista vars element ska skickas till argumentet
popitotal_exp(). - Ange på samma sätt den lista som ska skickas till argumentet
exp_pcitotal_exp().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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))))))