Boucler avec foreach
Le département de la Santé des États-Unis a reçu des signalements d'un taux plus élevé d'issues défavorables lors de l'accouchement. Vous souhaitez vérifier si cette tendance est liée à un âge maternel trop bas ou trop élevé. Votre équipe a obtenu l'ensemble de données sur les naissances pour l'année précédente. Vous disposez d'une liste, ls_age. Chaque élément de cette liste est un vecteur indiquant l'âge de la mère pour chaque naissance enregistrée dans un État américain.
La boucle suivante calcule le pourcentage de naissances dans un État où l'âge maternel est inférieur à 20 ou supérieur à 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]])
}
Cependant, cela prend trop de temps et vous voulez tester d'autres options. foreach, parallel et doParallel ont été chargés pour vous.
Cette activité fait partie du cours
Programmation parallèle en R
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Specify input to loop over
at_risk_perc <- foreach(m = ___
# Specify the sequential operator
) ___ {
sum(m > 35 | m < 20) * 100/length(m)}