Iterando com foreach
O Departamento de Saúde dos EUA recebeu relatos de um aumento na taxa de desfechos adversos durante o parto. Você quer investigar se essa tendência está relacionada à idade materna baixa ou alta. Sua equipe obteve o conjunto de dados de nascimentos do ano anterior. Você tem uma lista, ls_age. Cada elemento dessa lista é um vetor com a idade das mães para cada nascimento registrado em um estado dos EUA.
O loop a seguir calcula a porcentagem de nascimentos em um estado em que a idade materna é menor que 20 ou maior que 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]])
}
No entanto, isso está levando tempo demais, e você quer testar outras opções. foreach, parallel e doParallel já foram carregados para você.
Este exercicio faz parte do curso
Programação Paralela em R
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Specify input to loop over
at_risk_perc <- foreach(m = ___
# Specify the sequential operator
) ___ {
sum(m > 35 | m < 20) * 100/length(m)}