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