始める無料で始める

相関のデバッグ

あなたは米国保健当局で働いています。チームでは、多胎妊娠(双子、三つ子など)が妊娠中の体重増加に相関しているかどうかを調査しています。相関を計算しましたが、あなたの値は別のアナリストの推定値と大きく異なりました。彼女から、あなたのデータには体重増加が99ポンドを超える値が記録されていないと指摘されました。そこで計算をやり直し、今回は体重増加の最大値をログに記録することにしました。

ワークスペースにはデータフレームのリスト ls_df があります。ls_df の各要素には各州の出生データが入っています。計算を並列で実行するための foreach ループは作成済みです。

foreachdoParallel は読み込まれています。

この演習はコースの一部です

R による並列プログラミング

コースを見る

演習の手順

  • 4コアのクラスターを作成します。
  • クラスターからのメッセージを記録するファイル state_log.txt を指定します。
  • ループ本体では、データフレーム df の列 weight_gain_pounds の最大値をログに出力します。
  • state_log.txt を読み込み、出力されたメッセージを確認します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Create a cluster of four cores
cl <- ___(___,
# Specify a file to log print statements                    
          ___ = "___")
registerDoParallel(cl)
res <- foreach(df = ls_df) %dopar% {
   print(paste(unique(df$state), ":",
# Calculate maximum of weight_gain_pounds in df
               ___(___)))
                 
  cor(df$plurality, df$weight_gain_pounds)
}
stopCluster(cl)
# Read log file to check print messages
read.delim("___", sep = ";")
コードを編集して実行