Tugas:
Tetapkan set.seed(150).
Bangkitkan data berdistribusi normal:
mean = 30
sd = 2,5
Ambil 50 sampel dari data tsb.
Hitung rata-rata setiap sampel.
Simpan hasil rata-rata ke sebuah vektor.
set.seed(150)
# Membuat Data Populasi
n <- 1000
mean <- 30
sd <- 2.5
populasi <- rnorm(n, mean = mean, sd = sd)
# Sanity Check Populasi
length(populasi)
## [1] 1000
mean(populasi)
## [1] 29.92068
sd(populasi)
## [1] 2.475175
# Bootstraping
ukuran.sampel <- 1000
n.sampel <- 50
bootstrap.results <- c()
for (i in 1:n.sampel) {
obs <- sample(1:ukuran.sampel, replace = TRUE)
bootstrap.results[i] <- mean(populasi[obs])
}
# Sanity Check Bootstrap
length(bootstrap.results)
## [1] 50
summary(bootstrap.results)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 29.75 29.89 29.92 29.93 29.97 30.10
sd(bootstrap.results)
## [1] 0.06342673
Tugas:
Buat dua histogram:
Histogram distribusi 1000 data asli.
Histogram distribusi rata-rata sampel pada Latihan 1.
Lalu menggabungkan menjadi satu tampilan.
par(mfrow = c(2, 1), pin = c(5.8, 0.98))
hist(bootstrap.results,
col = "#d83737",
xlab = "Mean",
main = paste("Mean 50 sampel bootstrap dari populasi"))
hist(populasi,
col = "#37aad8",
xlab = "Value",
main = paste("Distribusi populasi"))