Zacznij terazZacznij za darmo

Wydatki na ochronę zdrowia z clusterMap()

Na niedawnej konferencji dotyczącej ochrony zdrowia stwierdzono, że całkowite wydatki na zdrowie rosną na całym świecie.

Byłeś/byłaś na tej konferencji i chcesz uzyskać przybliżone szacunki, żeby sprawdzić to twierdzenie. Masz dostęp do zbioru danych zawierającego wydatki na ochronę zdrowia per capita oraz dane o liczbie ludności od roku 2000. Dysponujesz dwiema listami: ls_pop i ls_exp. Zawierają one odpowiednio liczby ludności i wydatki na ochronę zdrowia per capita dla poszczególnych krajów.

Funkcja total_exp() przyjmuje dwa argumenty: pop (liczba ludności) oraz exp_pc (wydatki per capita na ochronę zdrowia). Zwraca całkowite wydatki w miliardach dolarów amerykańskich. Chcesz zastosować tę funkcję do list ls_pop i ls_exp równolegle. Pakiet parallel jest już wczytany.

To ćwiczenie jest częścią kursu

Programowanie równoległe w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Zastosuj funkcję total_exp() równolegle do każdego elementu list ls_pop i ls_exp.
  • Wskaż listę, której elementy zostaną przekazane do argumentu pop funkcji total_exp().
  • Analogicznie wskaż listę, która zostanie przekazana do argumentu exp_pc funkcji total_exp().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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))))))
Edytuj i uruchom kod