1. 学ぶ
  2. /
  3. コース
  4. /
  5. R による並列プログラミング

Connected

演習

並列フィルター

あなたは国連のデータコンサルタントとして、世界中の芸術系学生を対象に調査を行うことになりました。芸術・人文学部を持つ大学のデータセットが用意され、各国で上位の芸術系大学を調査対象に選ぶ方針です。

uni_list はデータフレームのリストで、各要素はある国のデータです。各データフレームには total_score 列が含まれます。次の関数が用意されています。

filter_df <- function (df, select_n_unis) {
  df %>% 
    top_n(select_n_unis, total_score)
}

この関数は dplyr を必要とします。select_n_unis 引数は選択する上位大学の数を指定します。各 CSV ファイルから上位5校を並列で抽出するよう依頼されています。parallel パッケージはすでに読み込まれています。

指示

100 XP
  • クラスター cl の各コアで dplyr を読み込みます。
  • 変数 n_unis をクラスター cl にエクスポートします。
  • parLapply() を使って、uni_list の各要素に filter_df() を適用します。
  • 抽出する大学数 n_unis を、filter_df() の正しい引数に渡します。