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
Pokyny k cvičení
- Aplikuj funkci
total_exp()paralelně na každý prvek seznamůls_popals_exp. - Zadej seznam, jehož prvky budou předány argumentu
popfunkcetotal_exp(). - Stejným způsobem zadej seznam, který bude předán argumentu
exp_pcfunkcetotal_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))))))