lab07
This commit is contained in:
1 file changed
+152
@@ -0,0 +1,152 @@
|
||||
# Lab 04 copy
|
||||
# Q1 - Run 10 times and count heads vs tails
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
sample(c("Heads", "Tails"), 1)
|
||||
|
||||
# *******************************
|
||||
FlipOnce = function()
|
||||
{
|
||||
headOrTail<-sample(c("Heads", "Tails"), 1)
|
||||
return(headOrTail)
|
||||
}
|
||||
|
||||
CoinResults = function(n)
|
||||
{
|
||||
coinList<-c(1:n)
|
||||
for (i in 1:n)
|
||||
{
|
||||
coinList[i]=FlipOnce()
|
||||
}
|
||||
return(coinList)
|
||||
}
|
||||
|
||||
ProbHeads=function(n)
|
||||
{
|
||||
coinList<-CoinResults(n)
|
||||
numHeads<-sum(coinList=="Heads")
|
||||
return(numHeads / n)
|
||||
}
|
||||
|
||||
# Q2 Rewrite your CoinResults(n) function in the script window without using
|
||||
# loops
|
||||
CoinResults = function(n)
|
||||
{
|
||||
coinList<-sample(c("Heads", "Tails"), n, repl=T)
|
||||
return(coinList)
|
||||
}
|
||||
|
||||
ProbHeads = function(n)
|
||||
{
|
||||
coinList<-CoinResults(n)
|
||||
numHeads<-sum(coinList=="Heads")
|
||||
return(numHeads / n)
|
||||
}
|
||||
|
||||
# Q3 Write a function called MaxAndMinHeads(m,n) that calls ProbsHeads(m) n
|
||||
# times, and returns the maximum and minimum probability of obtaining heads.
|
||||
|
||||
MaxAndMinHeads = function(m, n)
|
||||
{
|
||||
results<-c(1:n)
|
||||
for (i in 1:n)
|
||||
{
|
||||
results[i] = ProbHeads(m)
|
||||
}
|
||||
return(c(min(results), max(results)))
|
||||
}
|
||||
|
||||
# Q4 Write a function called RollDie(n) that simulates rolling a die n times,
|
||||
# and returns a bar plot
|
||||
RollDie = function(n)
|
||||
{
|
||||
rolls<-sample(c(1,2,3,4,5,6), n, repl=T)
|
||||
title<-paste("Distribution of outcomes of", n, "die rolls", sep=" ")
|
||||
plot<-barplot(table(rolls), main=title)
|
||||
return(plot)
|
||||
}
|
||||
|
||||
# Q5 Write a function called RollSomeDice(n,m) that simulates rolling m dice n
|
||||
# times, and each time counts the number of 3’s obtained in the m dice.
|
||||
RollSomeDice = function(n, m)
|
||||
{
|
||||
threes<-c(1:n)
|
||||
for (i in 1:n)
|
||||
{
|
||||
rolls<-sample(c(1,2,3,4,5,6), m, repl=T)
|
||||
threes[i]<-sum(rolls==3)
|
||||
}
|
||||
title<-paste("Number of 3's obtained in rolling", m, "dice", sep=" ")
|
||||
plot<-barplot(table(threes), main=title)
|
||||
return(plot)
|
||||
}
|
||||
|
||||
# Q6 Write a function DrawCardsWithReplacement(n,m) that simulates drawing m
|
||||
# cards from a 52-card deck with replacement, n times.
|
||||
DrawCardsWithReplacement = function(n, m)
|
||||
{
|
||||
red_counts <- c(1:n)
|
||||
for (i in 1:n)
|
||||
{
|
||||
draws <- sample(c(0,1), m, replace = TRUE)
|
||||
red_counts[i] <- sum(draws== 1)
|
||||
}
|
||||
|
||||
title<-paste("Number of red cards in", m,
|
||||
"draws (with replacement)", sep=" ")
|
||||
|
||||
plot<-barplot(table(red_counts), main = title,
|
||||
xlab = "Number of red cards",
|
||||
ylab = "Frequency")
|
||||
return(plot)
|
||||
}
|
||||
|
||||
# Q7 Now write a function DrawCardsWithoutReplacement(n,m)
|
||||
# that simulates drawing m cards from a 52-card deck without replacement,
|
||||
# n times. For each draw, record the number of red cards.
|
||||
DrawCardsWithoutReplacement = function(n, m)
|
||||
{
|
||||
deck <- c(rep(1,26), rep(0,26))
|
||||
red_counts <- c(1:n)
|
||||
|
||||
for (i in 1:n)
|
||||
{
|
||||
draws <- sample(deck, m, replace = FALSE)
|
||||
red_counts[i] <- sum(draws == 1)
|
||||
}
|
||||
|
||||
title <- paste("Number of red cards in", m,
|
||||
"draws (without replacement)")
|
||||
|
||||
plot <- barplot(table(red_counts),
|
||||
main = title,
|
||||
xlab = "Number of red cards",
|
||||
ylab = "Frequency")
|
||||
return(plot)
|
||||
}
|
||||
|
||||
# Lab 7
|
||||
|
||||
# Q1
|
||||
DiceMeans <- function(n, m)
|
||||
{
|
||||
means <- c(1:n)
|
||||
for (i in 1:n)
|
||||
{
|
||||
rolls<-sample(c(1,2,3,4,5,6), m, repl=T)
|
||||
means[i] = mean(rolls)
|
||||
}
|
||||
title<-paste("Means for", n, "rolls of", m, "dice", sep=" ")
|
||||
plot<-barplot(
|
||||
table(means),
|
||||
main=title
|
||||
)
|
||||
return(plot)
|
||||
}
|
||||
Reference in new issue
Block a user