Boucler avec foreach
Le ministère américain de la Santé a reçu des rapports indiquant une hausse des issues indésirables lors de l’accouchement. Vous souhaitez vérifier si cette tendance est liée à un âge maternel faible ou élevé. Votre équipe a collecté le jeu de données des naissances de 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 ans ou supérieur à 35 ans :
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 souhaitez tester d’autres options. foreach, parallel et doParallel ont été chargés pour vous.
Cet exercice fait partie du cours
Programmation parallèle en R
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Specify input to loop over
at_risk_perc <- foreach(m = ___
# Specify the sequential operator
) ___ {
sum(m > 35 | m < 20) * 100/length(m)}