単一の 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(___)