「スイッチ」を行う関数を書く
「スイッチ」をシミュレーションする前に、この状況で公開(reveal)を行う関数を書いておきましょう。次の演習で、この関数を使ってスイッチした場合の勝率をシミュレーションします。
最初に選んだドアが正解だった場合、司会者は残りの2枚のうちどちらかをランダムに選んで公開します。
最初に選んだドアが不正解だった場合、司会者はもう一方の不正解のドアを公開します。この場合の公開にはランダム性はありません。
この演習はコースの一部です
Rで解く確率パズル
演習の手順
- 最初の選択が正しかった場合は、
sample関数を使って、他のドアのうち1枚をランダムに選んで公開します。 - それ以外の場合は、公開すべき残り1枚のドアを選びます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
reveal_door <- function(doors, prize, initial_choice){
if(prize == initial_choice){
# Sample at random from the two remaining doors
reveal <- sample(x = ___, size = 1)
} else {
# When the prize and initial choice are different, reveal the only remaining door
reveal <- ___
}
}