1. Учиться
  2. /
  3. Courses
  4. /
  5. R による並列プログラミング

Connected

Exercise

foreach でループ処理

米国保健当局は、出産時の有害転帰の発生率が高まっているという報告を受けています。この傾向が母体年齢の若すぎる/高すぎることに起因するのかを調べたいとします。チームは前年の出生データセットを用意しました。ls_age というリストがあり、各要素は米国内の各州で記録されたすべての出産について、母親の年齢を格納したベクトルです。

次のループは、母体年齢が20歳未満または35歳より上の出産が州内で何%あるかを計算します。

at_risk_perc <- rep(NA, length(ls_age))

for (m in 1:length(ls_age)) {
  at_risk_perc[m] <- 
    sum(ls_age[[m]] > 35 | ls_age[[m]] < 20) * 100/length(ls_age[[m]])
}

しかし、この処理には時間がかかりすぎるため、別の方法を試したいと考えています。foreach、parallel、doParallel は読み込まれています。

Инструкции 1 / 2

undefined XP
    1
    2
  • foreach() 関数に対して、ループで反復する入力を指定します。
  • 逐次実行に適した演算子を使います。