Ciclare con foreach
Il Department of Health degli Stati Uniti ha ricevuto segnalazioni di un tasso più elevato di esiti avversi durante il parto. Vuoi verificare se questa tendenza è dovuta a età materna bassa o alta. Il tuo team ha reperito l'insieme di dati delle nascite dell'anno precedente. Hai una lista, ls_age. Ogni elemento di questa lista è un vettore con l’età della madre per ogni nascita registrata in uno stato USA.
Il seguente ciclo calcola la percentuale di nascite in uno stato in cui l’età materna è inferiore a 20 o superiore a 35 anni:
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]])
}
Tuttavia, l’elaborazione richiede troppo tempo e vuoi testare altre opzioni. foreach, parallel e doParallel sono già stati caricati per te.
Questo esercizio fa parte del corso
Programmazione parallela in R
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Specify input to loop over
at_risk_perc <- foreach(m = ___
# Specify the sequential operator
) ___ {
sum(m > 35 | m < 20) * 100/length(m)}