ブートストラップのチャンク分割
大学同士の研究開発における連携状況を調査しています。ワークスペースには 100 個のデータフレームからなるリスト ls_edu があります。各データフレームには、各国の大学の連携スコアが入っています。
また、1 つのデータフレームに対して連携スコアの分位点を計算する関数 rating_quants() も用意されています。
この計算には 5 コアを利用できます。future_map_dfr() を使って ls_edu に rating_quants() を適用しようとしましたが、RAM が不足して R セッションがクラッシュしました。そこで、チャンクサイズを 35 に設定し、同時に実行されるブートストラップが 3 つを超えないようにすることにしました。furrr パッケージは読み込まれています。
この演習はコースの一部です
R による並列プログラミング
演習の手順
- ワーカー数 5 の multisession を計画します。
future_map_dfr()用の設定を作成し、チャンクサイズを35に指定します。- 作成した設定を
future_map_dfr()の適切な引数に渡します。 - 計画を sequential に戻します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Plan a multisession of five workers
___
# Make a configuration specifying chunk size
config <- ___
future_map_dfr(ls_edu, rating_quants,
# Supply the configuration to the correct argument
___ = ___,
.id = "country")
# Revert to sequential plan
___