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

foreach ile döngü kurma

ABD Sağlık Bakanlığı, doğum sırasında olumsuz sonuçların oranında artış olduğuna dair bildirimler aldı. Bu eğilimin düşük ya da yüksek anne yaşından kaynaklanıp kaynaklanmadığını incelemek istiyorsun. Ekibin, önceki yıla ait doğumlar veri kümesini temin etti. Elinde bir liste var: ls_age. Bu listenin her bir elemanı, ABD'deki bir eyalette kaydedilen her doğum için annenin yaşını içeren bir vektör.

Aşağıdaki döngü, bir eyalette anne yaşının 20'nin altında veya 35'in üzerinde olduğu doğumların yüzdesini hesaplıyor:

at_risk_perc <- rep(NA, length(ls_age))

for (m in 1:length(ls_age)) {
  at_risk_perc[m] <- 
    sum(ls_age[[m]] > 35 | ls_age[[m]] < 20) * 100/length(ls_age[[m]])
}

Ancak bu işlem çok uzun sürüyor ve başka seçenekleri denemek istiyorsun. foreach, parallel ve doParallel senin için yüklendi.

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

R'da Paralel Programlama

Kursa Göz Atın

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Specify input to loop over 
at_risk_perc <- foreach(m = ___
                        # Specify the sequential operator
                       ) ___ {
  sum(m > 35 | m < 20) * 100/length(m)}
Kodu Düzenle ve Çalıştır