CommencerCommencer gratuitement

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

Afficher le cours

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)}
Modifier et exécuter le code