ÎncepețiÎncepe gratuit

Cheltuieli medicale cu clusterMap()

La o conferință recentă din domeniul sănătății, s-a susținut că cheltuielile totale cu asistența medicală sunt în creștere la nivel global.

Ai participat la această conferință și dorești să obții niște estimări rapide pentru a verifica această afirmație. Ai găsit un set de date care îți oferă cheltuielile medicale per capita și populația pentru anul 2000 și ulterior. Ai două liste: ls_pop și ls_exp. Acestea conțin, respectiv, dimensiunile populației și cheltuielile medicale per capita pentru fiecare țară.

Funcția total_exp() primește două argumente: pop (populația) și exp_pc (cheltuielile medicale per capita). Această funcție returnează cheltuielile totale în miliarde de dolari SUA. Vrei să aplici această funcție asupra listelor ls_pop și ls_exp în paralel. Pachetul parallel a fost încărcat.

Acest exercițiu face parte din cursul

Programare paralelă în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Aplică total_exp() în paralel pentru fiecare element din ls_pop și ls_exp.
  • Specifică lista ale cărei elemente vor fi transmise argumentului pop al funcției total_exp().
  • În mod similar, specifică lista care va fi transmisă argumentului exp_pc al funcției total_exp().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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))))))
Editează și rulează codul