IniziaInizia gratis

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

Visualizza il corso

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)}
Modifica ed esegui il codice