ÎncepețiÎncepe gratuit

Bucle cu foreach

Departamentul de Sănătate al SUA a primit rapoarte despre o rată mai ridicată a complicațiilor la naștere. Vrei să investighezi dacă această tendință este legată de vârsta prea mică sau prea mare a mamelor. Echipa ta a obținut setul de date births pentru anul precedent. Ai o listă, ls_age. Fiecare element al acestei liste este un vector cu vârsta mamei pentru fiecare naștere înregistrată într-un stat american.

Următoarea buclă calculează procentul nașterilor dintr-un stat în care vârsta mamei este sub 20 sau peste 35 de ani:

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]])
}

Durează prea mult, așa că vrei să testezi alte opțiuni. Pachetele foreach, parallel și doParallel sunt deja încărcate.

Acest exercițiu face parte din cursul

Programare paralelă în R

Vezi cursul

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Specify input to loop over 
at_risk_perc <- foreach(m = ___
                        # Specify the sequential operator
                       ) ___ {
  sum(m > 35 | m < 20) * 100/length(m)}
Editează și rulează codul