mu.density <- mean(red_wine$density)
mu.density
## [1] 0.9967467
sd.density <- sd(red_wine$density)
sd.density
## [1] 0.001887334
var.density <- sd(red_wine$density)/sqrt(length(red_wine$density))
var.density
## [1] 4.71981e-05
hist(red_wine$density)
lc.density <- mu.density - 2*(var.density)
lc.density
## [1] 0.9966523
uc.density <- mu.density + 2*(var.density)
uc.density
## [1] 0.9968411
mu.density.set <- NULL
for (k in 1:2000) {
density.bootstrap <- sample(red_wine$density, size = 1599, replace = T)
mu.density <- mean(density.bootstrap)
mu.density.set[k] <- mu.density
}
sd(mu.density.set)
## [1] 4.827167e-05
var.density.set <- var(mu.density.set)
var.density.set
## [1] 2.330155e-09
conf.q.density <- quantile(mu.density.set, probs = c(0.025, 0.975))
conf.q.density
## 2.5% 97.5%
## 0.9966526 0.9968431
mu.sugar <- mean(red_wine$`residual sugar`)
mu.sugar
## [1] 2.538806
hist(red_wine$`residual sugar`)
mu.sugar <- mean(red_wine$`residual sugar`)
mu.sugar
## [1] 2.538806
sd.sugar <- sd(red_wine$`residual sugar`)
sd.sugar
## [1] 1.409928
var.sugar <- sd(red_wine$`residual sugar`)/ sqrt(length(red_wine$`residual sugar`))
var.sugar
## [1] 0.03525922
#2b CI
lc.sugar <- mu.sugar - 2*(var.sugar)
lc.sugar
## [1] 2.468287
uc.sugar <- mu.sugar + 2*(var.sugar)
uc.sugar
## [1] 2.609324
ci.sugar.clt <- c(lc.sugar, uc.sugar)
ci.sugar.clt
## [1] 2.468287 2.609324
mu.sugar.set <- NULL
for (k in 1:2000) {
sugar.bootstrap <- sample(red_wine$`residual sugar`, size=1599, replace=T)
mu.sugar <- mean(sugar.bootstrap)
mu.sugar.set[k] <- mu.sugar
}
sd(mu.sugar.set)
## [1] 0.03464122
#CI using Bootstrap
conf.q.sugar <- quantile(mu.sugar.set, probs=c(0.025, 0.975))
conf.q.sugar
## 2.5% 97.5%
## 2.472620 2.609636
red_wine$excellent <- as.numeric(red_wine$quality > 6)
p <- mean(red_wine$excellent)
p
## [1] 0.1357098
var.excellent <- sqrt(p*(1 - p) / length(red_wine$excellent))
var.excellent
## [1] 0.008564681
lc.p <- p - 2*(var.excellent)
lc.p
## [1] 0.1185805
uc.p <- p + 2*(var.excellent)
uc.p
## [1] 0.1528392
bootstrap_p.set <- NULL
for (k in 1:2500) {
p.bootstrap <- sample(red_wine$excellent, size = 1599, replace = T)
bootstrap_p <- mean(p.bootstrap)
bootstrap_p.set[k] <- bootstrap_p
}
sd(bootstrap_p.set)
## [1] 0.008628812
conf.q.p <- quantile(bootstrap_p.set, probs = c(0.025, 0.975))
conf.q.p
## 2.5% 97.5%
## 0.1194497 0.1532208
hist(bootstrap_p.set, freq = FALSE)
lines(density(bootstrap_p.set), lwd = 5, col = 'blue')
##### The lower and upper limits of the 95% confidence interval for p,
using Bootstrap are (0.1200750, 0.1532208)