始める無料で始める

再現可能な宝くじの結果

あなたはオンライン宝くじのプログラマーとして働いています。法律により、当選者は無作為に選ばれ、選定過程は透明でなければなりません。

ワークスペースには宝くじ券のリスト ls_tickets があります。要素は51個で、米国の各州に1つずつ対応しています。各リスト要素には宝くじの券番号が含まれています。ワークスペースには、各州の当選券を無作為に選ぶ関数 lottery() も用意されています。現在、future_map() を使って ls_tickets に並列で適用し、lottery() 関数をテストしています。問題は、このコードを実行するたびに当選者が毎回異なることです。furrr パッケージは読み込まれています。

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

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

コースを見る

演習の手順

  • future_map() 用の設定を作成します。
  • 設定でシードを 4321 に設定します。
  • この設定を future_map() に渡します。

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

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

lottery <- function(tickets) {
  sample(tickets, 1)
}

# Create a configuration for future_map()
config <- ___(
# Provide the seed 4321 to the correct argument   
  ___ = ___)

plan(multisession, workers = 4)
winners <- future_map(ls_tickets, lottery,
                      # Supply configuration to future_map()
                      ___ = ___)

plan(sequential)
コードを編集して実行