LoslegenKostenlos loslegen

Schleifen mit foreach

Das US-Gesundheitsministerium hat Berichte über eine höhere Rate ungünstiger Geburtsergebnisse erhalten. Du möchtest prüfen, ob dieser Trend mit einem niedrigen oder hohen Alter der Mutter zusammenhängt. Dein Team hat den Geburten-Datensatz des Vorjahres beschafft. Du hast eine Liste ls_age. Jedes Element dieser Liste ist ein Vektor mit dem Alter der Mutter für jede in einem US-Bundesstaat erfasste Geburt.

Die folgende Schleife berechnet den prozentualen Anteil der Geburten in einem Bundesstaat, bei denen das Alter der Mutter unter 20 oder über 35 liegt:

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]])
}

Das dauert jedoch zu lange, und du willst andere Optionen testen. foreach, parallel und doParallel wurden für dich geladen.

Diese Übung ist Teil des Kurses

Paralleles Programmieren in R

Kurs anzeigen

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Specify input to loop over 
at_risk_perc <- foreach(m = ___
                        # Specify the sequential operator
                       ) ___ {
  sum(m > 35 | m < 20) * 100/length(m)}
Code bearbeiten und ausführen