lab 09
This commit is contained in:
1 file changed
+124
@@ -0,0 +1,124 @@
|
||||
set.seed(123)
|
||||
|
||||
# Q1
|
||||
NormalMeans = function(n, m)
|
||||
{
|
||||
means <- c(1:n)
|
||||
|
||||
for (i in 1:n)
|
||||
{
|
||||
values <- rnorm(m, mean = 0, sd = 1)
|
||||
means[i] <- mean(values)
|
||||
}
|
||||
|
||||
title <- paste(n, "sample means from N(0,1) with sample size", m)
|
||||
hist(means, main = title, xlab = "Sample mean", ylab = "Frequency")
|
||||
|
||||
return(c(mean(means), sd(means)))
|
||||
}
|
||||
|
||||
normal_m1 <- NormalMeans(10000, 1)
|
||||
normal_m2 <- NormalMeans(10000, 2)
|
||||
normal_m10 <- NormalMeans(10000, 10)
|
||||
normal_m50 <- NormalMeans(10000, 50)
|
||||
normal_m100 <- NormalMeans(10000, 100)
|
||||
|
||||
normal_m1
|
||||
normal_m2
|
||||
normal_m10
|
||||
normal_m50
|
||||
normal_m100
|
||||
|
||||
# Q2
|
||||
ExponentialMeans = function(n, m)
|
||||
{
|
||||
means <- c(1:n)
|
||||
|
||||
for (i in 1:n)
|
||||
{
|
||||
values <- rexp(m, rate = 1)
|
||||
means[i] <- mean(values)
|
||||
}
|
||||
|
||||
title <- paste(n, "sample means from Exp(1) with sample size", m)
|
||||
hist(means, main = title, xlab = "Sample mean", ylab = "Frequency")
|
||||
|
||||
return(c(mean(means), sd(means)))
|
||||
}
|
||||
|
||||
exp_m1 <- ExponentialMeans(10000, 1)
|
||||
exp_m2 <- ExponentialMeans(10000, 2)
|
||||
exp_m10 <- ExponentialMeans(10000, 10)
|
||||
exp_m50 <- ExponentialMeans(10000, 50)
|
||||
exp_m100 <- ExponentialMeans(10000, 100)
|
||||
|
||||
exp_m1
|
||||
exp_m2
|
||||
exp_m10
|
||||
exp_m50
|
||||
exp_m100
|
||||
|
||||
# Q3
|
||||
ExponentialMeansProb = function(n, m, z)
|
||||
{
|
||||
means <- c(1:n)
|
||||
|
||||
for (i in 1:n)
|
||||
{
|
||||
values <- rexp(m, rate = 1)
|
||||
means[i] <- mean(values)
|
||||
}
|
||||
|
||||
probability <- mean(means >= (1 - z) & means <= (1 + z))
|
||||
return(probability)
|
||||
}
|
||||
|
||||
prob_2_1 <- ExponentialMeansProb(10000, 2, 1)
|
||||
prob_2_05 <- ExponentialMeansProb(10000, 2, 0.5)
|
||||
prob_2_02 <- ExponentialMeansProb(10000, 2, 0.2)
|
||||
|
||||
prob_5_1 <- ExponentialMeansProb(10000, 5, 1)
|
||||
prob_5_05 <- ExponentialMeansProb(10000, 5, 0.5)
|
||||
prob_5_02 <- ExponentialMeansProb(10000, 5, 0.2)
|
||||
|
||||
prob_10_1 <- ExponentialMeansProb(10000, 10, 1)
|
||||
prob_10_05 <- ExponentialMeansProb(10000, 10, 0.5)
|
||||
prob_10_02 <- ExponentialMeansProb(10000, 10, 0.2)
|
||||
|
||||
prob_2_1
|
||||
prob_2_05
|
||||
prob_2_02
|
||||
prob_5_1
|
||||
prob_5_05
|
||||
prob_5_02
|
||||
prob_10_1
|
||||
prob_10_05
|
||||
prob_10_02
|
||||
|
||||
# Q4
|
||||
library(MASS)
|
||||
|
||||
data(genotype)
|
||||
|
||||
groupA <- subset(genotype, Litter == "A")
|
||||
groupB <- subset(genotype, Litter == "B")
|
||||
groupI <- subset(genotype, Litter == "I")
|
||||
groupJ <- subset(genotype, Litter == "J")
|
||||
|
||||
qqnorm(groupA$Wt, main = "QQ Plot of Weight for Litter Genotype A")
|
||||
qqline(groupA$Wt)
|
||||
|
||||
qqnorm(groupB$Wt, main = "QQ Plot of Weight for Litter Genotype B")
|
||||
qqline(groupB$Wt)
|
||||
|
||||
qqnorm(groupI$Wt, main = "QQ Plot of Weight for Litter Genotype I")
|
||||
qqline(groupI$Wt)
|
||||
|
||||
qqnorm(groupJ$Wt, main = "QQ Plot of Weight for Litter Genotype J")
|
||||
qqline(groupJ$Wt)
|
||||
|
||||
# Optional support if you want a numerical check as well
|
||||
shapiro.test(groupA$Wt)
|
||||
shapiro.test(groupB$Wt)
|
||||
shapiro.test(groupI$Wt)
|
||||
shapiro.test(groupJ$Wt)
|
||||
Reference in new issue
Block a user