BaşlayınÜcretsiz başlayın

clusterMap() ile sağlık harcamaları

Yakın zamanda yapılan bir sağlık konferansında, toplam sağlık harcamalarının dünya genelinde arttığı iddia edildi.

Sen de oradaydın ve bu iddiayı test etmek için kabaca bazı tahminler almak istiyorsun. 2000 yılından itibaren kişi başı sağlık harcamasını ve nüfusu veren bir veri kümesi buldun. Elinde iki liste var: ls_pop ve ls_exp. Bunlar sırasıyla her ülke için nüfus büyüklüklerini ve kişi başı sağlık harcamasını içeriyor.

İki argüman alan total_exp() adlı bir fonksiyonun var: pop (nüfus) ve exp_pc (kişi başı sağlık harcaması). Bu fonksiyon toplam harcamayı ABD doları cinsinden milyarlar olarak döndürür. Bu fonksiyonu ls_pop ve ls_exp üzerinde paralel olarak uygulamak istiyorsun. parallel paketi yüklendi.

Bu egzersiz, kursun bir parçasıdır

R'da Paralel Programlama

Kursa Göz Atın

Egzersiz talimatları

  • total_exp() fonksiyonunu ls_pop ve ls_exp listesinin her bir elemanına paralel olarak uygula.
  • total_exp() fonksiyonunun pop argümanına hangi listenin elemanlarının verileceğini belirt.
  • Benzer şekilde, total_exp() fonksiyonunun exp_pc argümanına verilecek listeyi belirt.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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))))))
Kodu Düzenle ve Çalıştır