Začněte nyníZačněte zdarma

Výdaje na zdravotnictví pomocí clusterMap()

Na nedávné zdravotnické konferenci zaznělo tvrzení, že celkové výdaje na zdravotní péči celosvětově rostou.

Byl/a jsi přítomen/přítomna a chceš si udělat hrubý odhad, abys toto tvrzení ověřil/a. Získal/a jsi datovou sadu, která obsahuje výdaje na zdravotní péči na obyvatele a velikost populace od roku 2000. Máš k dispozici dva seznamy: ls_pop a ls_exp. Obsahují velikosti populací, resp. výdaje na zdravotní péči na obyvatele pro každou zemi.

Funkce total_exp() přijímá dva argumenty: pop (populace) a exp_pc (výdaje na zdravotní péči na obyvatele). Tato funkce vrací celkové výdaje v miliardách amerických dolarů. Chceš tuto funkci aplikovat paralelně na ls_pop a ls_exp. Balíček parallel je již načten.

Toto cvičení je součástí kurzu

Paralelní programování v R

Zobrazit kurz

Pokyny k cvičení

  • Aplikuj funkci total_exp() paralelně na každý prvek seznamů ls_pop a ls_exp.
  • Zadej seznam, jehož prvky budou předány argumentu pop funkce total_exp().
  • Stejným způsobem zadej seznam, který bude předán argumentu exp_pc funkce total_exp().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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))))))
Upravit a spustit kód