母親平均年齡的自助抽樣(Bootstrapping)
母親年齡(產婦在生產時的年齡)是衡量一個族群新生兒健康的重要指標。過高或過低的母親年齡都可能不利於生產結果。
你在美國衛生部擔任資料分析師。你拿到一個清單 ls_df,裡面有 51 個資料框,分別對應美國 50 州與華盛頓特區。每個資料框都包含欄位 maternal_age。你的主管希望你對每個州進行平均母親年齡的自助抽樣分佈估計。你已經寫好一段迴圈,能對單一資料框執行自助抽樣。接下來需要把這個計算平行化。parallel 套件已為你載入。
本練習屬於課程
R 平行程式設計
練習說明
- 把自助抽樣的迴圈包成一個會回傳「平均值分佈」的函式。
- 建立一個包含 4 個核心的叢集。
- 使用
parLapply()在平行環境中把自助抽樣函式套用到ls_df。 - 全部計算完成後,關閉叢集。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Wrap the loop into a function
boot_mean <- ___ (df) ___
est <- rep(0, 1e3)
for (i in 1:1e3) {
b <- sample(df$mother_age, replace = T)
est[i] <- mean(b)
}
return(est)
___
# Make a cluster of four
cl <- ___
# Apply function to ls_df in parallel
state_dist <- ___
# Stop cluster
___(cl)