始める無料で始める

単一の n のシミュレーション

部屋の人数を 50 人として、まずはシミュレーションで解を求めてみましょう。

このコードでは、n が部屋の人数、match がシミュレーション中に少なくとも 1 組の誕生日が一致した回数を数えるカウンタを表します。match は 0 から開始し、一致が起きた各反復で 1 ずつ増やします。

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

Rで解く確率パズル

コースを見る

演習の手順

  • 各個人に誕生日をランダムに割り当てるために、sample 関数の必要な引数を埋めてください。
  • 条件に従って match 変数を増やしてください。
  • 少なくとも 1 組が一致する推定確率を計算してください。

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

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

set.seed(1)
n <- 50
match <- 0

# Simulate 10000 rooms and check for matches in each room
for(i in 1:10000){
  birthdays <- sample(___, ___, replace = ___)
  if(length(unique(birthdays)) < n){
    match <- ___
  } 
}

# Calculate the estimated probability of a match and print it
p_match <- ___
print(___)
コードを編集して実行