futures で社会科学研究に資金提供
あなたは慈善基金で働いています。基金は、各国で社会科学の研究評価が上位1%に入る大学に研究助成金を授与します。そのため、毎年、研究評価のカットオフ値を計算します。
ワークスペースには rating_list というリストがあります。各要素には、ある国の大学の研究評価が入っています。さらに、generate_cutoff_future() も利用できます。この関数は、カットオフ値を計算するための future を作成します。ただし、あなたのマネージャーは、ほかの並列化手法に比べて futures を使う利点に半信半疑です。実際のコードを変更せずに、futures なら逐次実行と並列実行の両方が可能であることを示す必要があります。future パッケージは読み込まれています。
この演習はコースの一部です
R による並列プログラミング
演習の手順
- sequential プランの下で、
lapply()を使ってrating_listにgenerate_cutoff_future()を適用し、逐次 future を生成します。 - 逐次 future の値を取り出します。
- 並列プランの下で、並列 future を生成します。
- 並列 future の値を取り出します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
plan(sequential)
# Create futures under sequential plan
seq_futures <- ___(___, ___)
# Extract values of sequential futures
seq_values <- ___(___)
plan(multisession, workers = 4)
# Create futures under multisession plan
par_futures <- ___(___, ___)
# Extract values of parallel futures
par_values <- ___(___)
plan(sequential)
cbind(seq_values, par_values)