Note: Your exam will be in a similar format to this (RMarkdown File with Questions and Code chunks for your answers), so make sure you have the process for knitting to html working.
roll_six_sided_die <- function(){
die_rolls <- 1:6
die_probs <- c(rep(1/6,6))
rolls <- sample (die_rolls,1, replace = T, prob = die_probs)
return(rolls)
}
roll_six_sided_die()
## [1] 4
roll_2_six_sided_die <- function(){
die_rolls <- 1:6
die_probs <- c(rep(1/6,6))
roll_1 <- sample (die_rolls,1, replace = T, prob = die_probs)
roll_2 <- sample (die_rolls,1, replace = T, prob = die_probs)
total = roll_2 + roll_1
return(total)
}
roll_2_six_sided_die()
## [1] 5
# Your one-roll function goes here
roll_die <- function(name1, name2) {
die_probs <- c(rep(1/6,6))
roll <- function() {
sample(1:6, 1, replace = TRUE, prob = die_probs)
}
roll1 <- roll()
roll2 <- roll()
if (roll1 == roll2) {
roll1 <- roll()
roll2 <- roll()
}
if (roll1 > roll2) {
return(name1)
} else if (roll2 > roll1) {
return(name2)
} else {
return("draw")
}
}
# Test
winner <- roll_die("Ann", "Lisa")
print(winner)
## [1] "Ann"
roll_die_15 <- function(name1,name2){
die_probs <- c(rep(1/6,6))
rolls_15 <- function() {
sample(1:6,15,replace = T, prob = die_probs)}
rolls1 <- rolls_15()
rolls2 <- rolls_15()
print(rolls1)
print(rolls2)
win1 <- sum(rolls1 > rolls2)
win2 <- sum(rolls2 > rolls1)
print(paste(name1,"wins",win1,"times", sep = " "))
print(paste(name2,"wins",win2,"times", sep = " "))
if(win1 > win2){
return (name1)
}
else if (win1 <win2){
return (name2)
}
else
return ("draw")
}
# Test
winner <- roll_die_15("Ann", "Lisa")
## [1] 6 5 4 4 2 2 4 2 2 3 3 2 1 6 4
## [1] 5 1 4 4 6 2 2 3 6 3 5 5 2 1 2
## [1] "Ann wins 5 times"
## [1] "Lisa wins 6 times"
print(winner)
## [1] "Lisa"
# Your "cheating" function goes here
roll_die_weight <- function(name1,name2){
die_probs1 <- c(rep(0.2,3),0.5,0.6,0.7)
die_probs2 <- c(rep(1/6,6))
rolls1 <- sample(1:6,15,replace = T, prob = die_probs1)
rolls2 <- sample(1:6,15,replace = T, prob = die_probs2)
win1 <- sum(rolls1 > rolls2)
win2 <- sum(rolls2 > rolls1)
#print(rolls1)
#print(rolls2)
#print(paste(name1,"wins",win1,"times", sep = " "))
#print(paste(name2,"wins",win2,"times", sep = " "))
if(win1 > win2){
return (name1)
}
else if (win1 <win2){
return (name2)
}
else
return ("draw")
}
# Test
results <- replicate(250,roll_die_weight("Ann", "Lisa"))
print(results)
## [1] "Ann" "Ann" "Lisa" "Ann" "Ann" "Ann" "draw" "Ann" "draw" "Ann"
## [11] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [21] "Lisa" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [31] "Ann" "Lisa" "Ann" "Lisa" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [41] "Lisa" "Ann" "Ann" "draw" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [51] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [61] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [71] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [81] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "draw" "Lisa" "Ann"
## [91] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [101] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Lisa"
## [111] "draw" "Ann" "Ann" "draw" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [121] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann"
## [131] "Ann" "Ann" "Ann" "Ann" "Lisa" "Ann" "Ann" "draw" "Ann" "Ann"
## [141] "Ann" "Ann" "Ann" "Ann" "draw" "Ann" "Ann" "Ann" "Ann" "Ann"
## [151] "Ann" "Ann" "Ann" "Ann" "Ann" "Lisa" "Ann" "Ann" "Ann" "Ann"
## [161] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Lisa" "Ann"
## [171] "draw" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "draw" "Ann"
## [181] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Lisa" "Ann" "Ann" "Ann"
## [191] "Lisa" "Lisa" "Ann" "Lisa" "Ann" "Ann" "Lisa" "Ann" "Ann" "Ann"
## [201] "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Ann" "Lisa" "Ann"
## [211] "Ann" "Lisa" "Ann" "Ann" "Ann" "Lisa" "Ann" "Ann" "draw" "Lisa"
## [221] "Ann" "Ann" "draw" "Ann" "Lisa" "Lisa" "Ann" "Ann" "Ann" "Ann"
## [231] "Lisa" "Ann" "draw" "Lisa" "Ann" "Ann" "draw" "Ann" "Ann" "Ann"
## [241] "Ann" "Ann" "Ann" "Ann" "Ann" "Lisa" "Ann" "Ann" "Ann" "draw"
print("After a fews time with less than 25 times run, Ann is winner but i try increase to 250 times run, Lisa wins a few times")
## [1] "After a fews time with less than 25 times run, Ann is winner but i try increase to 250 times run, Lisa wins a few times"