開始使用免費開始

用 foreach 來迴圈

美國衛生部收到通報,指出生產過程中不良結局的比率上升。你想調查這個趨勢是否與母親年齡偏低或偏高有關。你的團隊已取得前一年的出生資料集。你手上有一個清單 ls_age。這個清單的每個元素,都是某一州所有出生紀錄中的母親年齡向量。

以下的迴圈會計算在某州中,母親年齡小於 20 或大於 35 的出生占比:

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

但這樣太花時間了,因此你想嘗試其他作法。foreachparalleldoParallel 已為你載入。

本練習屬於課程

R 平行程式設計

檢視課程

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Specify input to loop over 
at_risk_perc <- foreach(m = ___
                        # Specify the sequential operator
                       ) ___ {
  sum(m > 35 | m < 20) * 100/length(m)}
編輯並執行程式碼