## Roulette Simulation in R

RouletteSpin <- function(num.spins){
# function to simulate roulette spins
# ARGS: number of spins
# RETURNS: result of each spin
outcomes <- data.frame(number = c('00','0',
as.character(1:36)),
color=c('green','green','red','black','red','black',
'red','black','red','black','red','black',
'black','red','black','red','black',
'red','black','red','red','black',
'red','black','red','black','red',
'black','red','black','black','red',
'black','red','black','red','black','red'))
return(outcomes[sample(38,num.spins,replace=T),])
}
kable(RouletteSpin(2), row.names=F)
number color
15 black
30 red

## Exercise: Probability of Red, Green, and Black

1. Calculate/Derive the probability of landing on green, red, and black.

2. How can the RouletteSpin() function be used to compute or approximate these probabilities?

## Exercise: Simulation Questions - Part 2

Now what happens if we:

1. run the simulation again with the same number of trials?

2. run the simulation with more trials, say 1 million?

## Exercise: Conditions in R

We have touched on many of these before, but here are some examples of expressions (conditions) in R.

pi > 3 & pi < 3.5
c(1,3,5,7) %in% 1:3
1:3 %in% c(1,3,5,7)
rand.uniform <- runif(n = 1, min = 0, max = 1)
rand.uniform < .5

## Exercise: Conditional Expression

Write a conditional statement that takes a playing card with two arguments:

• (card.number <- '4' and card.suit <- 'C' = 4 of clubs or card.number <-'K' and card.suit <- 'H' = King of hearts) and
• Print Yes if the card is a red face card and No otherwise.

Verify this works using the following inputs:

• card.number <- 'J' and card.suit <- 'D'
• card.number <- 'Q' and card.suit <- 'S'

## Exercise: Loops

Assume you plan to wager \$1 on red for ten roulette spins. If the outcome is red you win a dollar and otherwise you lose a dollar. Write a loop that simulates ten rolls and determines your net profit or loss.

#hint: to get color from a single spin use
RouletteSpin(1)[2]
##   color
## 7   red