開始使用免費開始

含變數與套件的 foreach

人口成長的速率稱為成長率,以百分比表示。幾乎所有國家的成長率都在下降,但有些下降得更快。

你受聘為人口統計分析師,你的任務是計算 2017 到 2021 年間,各國人口成長率與全球成長率的比值。你收到一個資料框清單 ls_df,其中每個元素都是如下的資料框:

    country year growth_rate
Afghanistan 2017        2.52
...

你也有一個全球成長率的資料框 df_global

year global_growth
2017          1.15
...

已為你載入 foreachdplyr。叢集已建立並使用 foreach 後端完成註冊。

本練習屬於課程

R 平行程式設計

檢視課程

練習說明

  • foreach() 呼叫中,將 df_global 匯出到叢集。
  • 指定計算所需的 dplyr 套件。
  • 將合併方法指定為 rbind
  • 使用平行運算子。

動手互動練習

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

df_comp <- foreach(df = ls_df,
                   # Export variable
                   ___,
                   # Specify any package needed
                   ___,
                   # Specify a combine method 
                   ___
                   # Use the parallel operator
                  ) ___ {
    df %>%
      left_join(df_global, "year") %>% 
      mutate(comp = growth_rate/global_growth)
}

stopCluster(cl)
編輯並執行程式碼