1. Pengantar Bootstraping dalam R Dataset Kita akan membuat sebuah vektor berisi angka yang terdistribusi secara normal dengan nama myData.

Membuat Distribusi Normal Acak Menggunakan rnorm()

set.seed(300) # Setting the seed for replication purposes 

myData <- rnorm(2000,20,4.5) # Creating a random normal distribution (n=300, mean=20, sd=4.5)

Penjelasan

set.seed(300) digunakan untuk menetapkan seed (angka acak) agar hasil yang dihasilkan oleh fungsi acak (seperti rnorm) dapat direplikasi. Ini memastikan bahwa setiap kali kode dijalankan, hasilnya akan sama.

rnorm(2000, 20, 4.5) menghasilkan 2000 observasi dari distribusi normal dengan mean 20 dan standar deviasi 4.5. Hasilnya disimpan dalam vektor myData.

Melakukan Pemeriksaan Awal (Sanity Checks) pada myData Menggunakan length(), mean(), dan sd()

length(myData) # How many observations?
## [1] 2000
mean(myData) # What is the mean?
## [1] 20.25773
sd(myData) # What is the standard deviation?
## [1] 4.590852

Membuat Grafik untuk MyData

# Membuat histogram dari myData 
hist(myData, breaks = 30, col = "lightblue", main = "Distribusi myData", xlab = "Nilai", ylab = "Frekuensi")
# Menambahkan garis vertikal untuk mean
abline(v = mean(myData), col = "red", lwd = 2, lty = 2)
# Menambahkan legenda 
legend("topright", legend = paste("Mean =", round(mean(myData), 5)), col = "red", lty = 2, lwd = 2)

# Penjelasan

hist() digunakan untuk membuat histogram dari myData. breaks = 30 menentukan jumlah bin (kelompok) pada histogram.

col = “lightblue” memberikan warna biru muda pada histogram.

main, xlab, dan ylab masing-masing digunakan untuk judul grafik, label sumbu x, dan label sumbu y

abline() menambahkan garis vertikal pada nilai mean. v = mean(myData) menentukan posisi garis pada nilai mean.

col = “red” memberikan warna merah pada garis.

lwd = 2 menentukan ketebalan garis.

lty = 2 membuat garis menjadi putus-putus.

legend() menambahkan legenda ke grafik untuk menjelaskan garis merah. Output dari kode ini adalah histogram yang menunjukkan distribusi myData dengan garis merah putus-putus yang menandakan nilai mean. ## 2. Bootstraping Menggunakan Fungsi Dasar R Resampling dari myData Sebanyak 1000 Kali Menggunakan for(i in x)

set.seed(200) # Setting the seed for replication purposes 
sample.size <- 2000 # Sample size 
n.samples <- 1000 # Number of bootstrap samples 
bootstrap.results <- c() # Creating an empty vector to hold the results 
for (i in 1:n.samples) 
  {
  obs <- sample(1:sample.size, replace=TRUE) 
  bootstrap.results[i] <- mean(myData[obs]) # Mean of the bootstrap sample 
  }
length(bootstrap.results) # Sanity check: this should contain the mean of 1000 different samples
## [1] 1000
summary(bootstrap.results) # Sanity check
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   19.92   20.19   20.26   20.26   20.33   20.57
 sd(bootstrap.results) # Checking the standard deviation of the distribution of means (this is what we are interested in!)
## [1] 0.1021229
par(mfrow=c(2,1), pin=c(5.8,0.98)) # Combining plots (2 rows, 1 column) and setting the plots size 
hist(bootstrap.results, # Creating an histogram 
     col="#d83737", # Changing the color 
     xlab="Mean", # Giving a label to the x axis 
     main=paste("Means of 1000 bootstrap samples from myData")) # Giving a title to the graph 
hist(myData, # Creating an histogram 
     col="#37aad8", # Changing the color 
     xlab="Value", # Giving a label to the x axis 
     main=paste("Distribution of myData")) # Giving a title to the graph

## Penjelasan:

par(mfrow=c(2,1), pin=c(5.8,0.98)) mengatur tata letak plot menjadi 2 baris dan 1 kolom, serta menentukan ukuran plot. hist(bootstrap.results, col=“#d83737”, xlab=“Mean”, main=paste(“Means of 1000 bootstrap samples from the DGP”)) membuat histogram dari distribusi mean hasil bootstrapping.

col=“#d83737” memberikan warna merah pada histogram.

xlab=“Mean” memberikan label “Mean” pada sumbu x.

main=paste(“Means of 1000 bootstrap samples from the DGP”) memberikan judul grafik.

hist(myData, col=“#37aad8”, xlab=“Value”, main=paste(“Distribution of myData”)) membuat histogram dari data asli myData.

col=“#37aad8” memberikan warna biru pada histogram.

xlab=“Value” memberikan label “Value” pada sumbu x.

main=paste(“Distribution of myData”) memberikan judul grafik.