ПочатиПочніть безкоштовно

Цикли з foreach

Міністерство охорони здоровʼя США отримало повідомлення про зростання частоти несприятливих наслідків під час пологів. Ви хочете перевірити, чи повʼязана ця тенденція з низьким або високим материнським віком. Ваша команда підготувала набір даних про народжуваність за попередній рік. У вас є список ls_age. Кожен елемент цього списку — це вектор віку матері для кожних пологів, зареєстрованих у певному штаті США.

Наведений нижче цикл обчислює відсоток народжень у штаті, де вік матері менший за 20 або більший за 35:

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

Однак це займає занадто багато часу, тож ви хочете спробувати інші варіанти. foreach, parallel і doParallel уже завантажені для вас.

Ця вправа є частиною курсу

Паралельне програмування в R

Переглянути курс

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Specify input to loop over 
at_risk_perc <- foreach(m = ___
                        # Specify the sequential operator
                       ) ___ {
  sum(m > 35 | m < 20) * 100/length(m)}
Редагувати та запускати код