Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Applicera total_exp() parallellt på varje element i ls_pop och ls_exp.
  • Ange den lista vars element ska skickas till argumentet pop i total_exp().
  • Ange på samma sätt den lista som ska skickas till argumentet exp_pc i total_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))))))
Redigera och kör kod