Циклы с 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)}