O código a seguir apresenta a simulação de 1000 programas da "Porta dos Desesperados".
n=10000
resultadoQuandoNaoTroca <- c()
resultadoQuandoTroca <- c()
portas <- c("A","B","C")
for (i in 1:n)
{
portapremio <- sample(portas,size=1) # número da porta com o prêmio, escolhida ao acaso pela produção do programa
portaescolhida <- sample(portas,size=1) # número da porta escolhida ao acaso pelo participante
portaslivres <- portas[portas != portaescolhida & portas !=portapremio]
ApresentadorMostra <- sample(portaslivres,size=1) # porta mostrada pelo apresentador, escolhida ao acaso entre as portas vazias disponÃveis.
trocouPorta <- portas[portas != portaescolhida & portas !=ApresentadorMostra] # indica a porta escolhida após a troca
resultadoQuandoNaoTroca[i] <- ifelse(portaescolhida==portapremio,"ganhou","perdeu")
resultadoQuandoTroca[i] <- ifelse(trocouPorta==portapremio,"ganhou","perdeu")
}
proporcaoManteveGanhou <- mean(resultadoQuandoNaoTroca=="ganhou")
proporcaoTrocouGanhou <- mean(resultadoQuandoTroca=="ganhou")