Smyčky s foreach
Ministerstvo zdravotnictví USA zaznamenalo zprávy o vyšším výskytu komplikací při porodu. Chceš zjistit, zda tento trend souvisí s nízkým nebo vysokým věkem matek. Tvůj tým získal dataset porodů za předchozí rok. Máš k dispozici seznam ls_age, kde každý prvek obsahuje vektor věku matek pro všechny zaznamenané porody v daném státě USA.
Následující smyčka vypočítá procento porodů ve státě, kde byl věk matky nižší než 20 nebo vyšší než 35 let:
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]])
}
Výpočet ale trvá příliš dlouho, a tak chceš vyzkoušet jiné možnosti. Balíčky foreach, parallel a doParallel jsou už načteny.
Toto cvičení je součástí kurzu
Paralelní programování v R
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Specify input to loop over
at_risk_perc <- foreach(m = ___
# Specify the sequential operator
) ___ {
sum(m > 35 | m < 20) * 100/length(m)}