Pada tahap ini, kita akan membuat dataset asli dan mengambil sampel
berulang (bootstrap) menggunakan perulangan for.
# 1. Menetapkan seed agar hasil acak selalu dapat direproduksi
set.seed(123)
# 2. Menggunakan rnorm() untuk menghasilkan 1000 observasi kumpulan data asli
# (Misalnya: distribusi normal dengan rata-rata 50 dan standar deviasi 10)
data_asli <- rnorm(1000, mean = 50, sd = 10)
# 3. Menyiapkan vektor kosong untuk menyimpan hasil rata-rata dari 50 sampel
rata_rata_sampel <- numeric(50)
# 4. Mendefinisikan x sebagai urutan 1 sampai 50
x <- 1:50
# 5. Menjalankan perulangan for(i in x) sesuai instruksi
for(i in x) {
# Mengambil sampel acak dari data asli (ukuran 1000, dengan pengembalian / replace = TRUE)
sampel <- sample(data_asli, size = 1000, replace = TRUE)
# Menghitung rata-rata dari sampel tersebut lalu menyimpannya ke dalam vektor
rata_rata_sampel[i] <- mean(sampel)
}
# (Opsional) Menampilkan 5 nilai rata-rata pertama untuk mengecek hasilnya
head(rata_rata_sampel, 5)
## [1] 50.16082 50.18874 50.42878 50.22452 50.02713
Pada tahap ini, kita akan membuat histogram untuk membandingkan bentuk distribusi dari kumpulan data asli (berupa individu observasi) dengan bentuk distribusi dari rata-rata sampel (hukum bilangan besar / teorema limit pusat).
hist(data_asli,
main = "Distribusi 1000 Data Asli",
xlab = "Nilai Observasi",
ylab = "Frekuensi",
col = "lightblue",
border = "white")
# 3. Hasilkan histogram distribusi rata-rata dari 50 sampel Bootstrap
hist(rata_rata_sampel,
main = "Distribusi Rata-rata\n(50 Sampel Bootstrap)",
xlab = "Nilai Rata-rata Sampel",
ylab = "Frekuensi",
col = "lightgreen",
border = "white")
# 4. Mengembalikan parameter jendela grafik (par) ke kondisi normal (1 baris, 1 kolom)
par(mfrow = c(1, 1))
Penjelasan Singkat Konsep Kodenya:
Di Latihan 1, argument replace = TRUE di dalam fungsi sample() adalah kunci penting dari Metode Bootstrap. Hal ini mengizinkan satu nilai ditarik lebih dari sekali untuk membentuk kumpulan sampel baru.
Di Latihan 2, dengan memanggil fungsi par(mfrow = c(1, 2)), Anda menginstruksikan RStudio untuk membagi kanvas plot Anda menjadi matriks 1x2. Hasilnya, kedua hist() yang Anda jalankan setelahnya akan tercetak secara harmonis bersebelahan kiri dan kanan.