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