Začněte nyníZačněte zdarma

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

Zobrazit kurz

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)}
Upravit a spustit kód