始める無料で始める

変数とパッケージを使った 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)
コードを編集して実行