Latihan 1

Tugas:

  1. Tetapkan set.seed(150).

  2. Bangkitkan data berdistribusi normal:

  1. Ambil 50 sampel dari data tsb.

  2. Hitung rata-rata setiap sampel.

  3. Simpan hasil rata-rata ke sebuah vektor.

Penyelesaian

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

Latihan 2

Tugas:

Buat dua histogram:

  1. Histogram distribusi 1000 data asli.

  2. 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"))