16 Jawaban 6
#banyaknya amatan
n <- 1000
ulangan <- 100
# membuat tempat penyimpanan
# koefisien tiap ulangan
koefisien_ulangan <- NULL
set.seed(13)
for(i in seq(ulangan)){
epsilon <- rnorm(n,mean = 0,sd = 1)
X <- replicate(3,rnorm(n,mean=0,sd=1.5))
Xgab <- cbind(1,X)
Y <- Xgab%*%betas+epsilon
dataRegresi <- data.frame(Y,X)
colnames(dataRegresi) <- c("Y","X1","X2","X3")
modelRegresi <- lm(Y~.,data = dataRegresi)
# rbind digunakan untuk menggabungkan baris
koefisien_ulangan <- rbind(koefisien_ulangan,coef(modelRegresi))
}
head(koefisien_ulangan)
## (Intercept) X1 X2 X3
## [1,] 9.998451 2.997131 4.961536 7.019022
## [2,] 9.999899 2.981410 5.012151 6.977783
## [3,] 9.971732 2.986735 4.992031 7.019945
## [4,] 9.940730 3.013790 5.006416 7.003125
## [5,] 10.029303 3.033154 5.009336 6.972909
## [6,] 10.008416 3.019092 5.010800 6.999371
## (Intercept) X1 X2 X3
## 9.997236 3.002950 5.000115 7.001103
## (Intercept) X1 X2 X3
## 0.02972359 0.01960207 0.01923794 0.02379381
Pengulangan seperti ini biasanya digunakan ketika kita ingin melakukan kajian pada model-model statistik. Menghitung mean dari semua koefisien dimaksudkan untuk melihat sebaik mana model yang kita gunakan dalam mengestimasi parameter. Parameter dalam regresi pada data bangkitan ini adalah koefisien yang kita tentukan di awal. Semakin dekat nilai rata-rata semua koefisien tersebut dengan parameter maka bisa disimpulkan modelnya sudah baik. Sedangkan simpangan baku dari semua koefisien dapat diinterpretasikan sebagai sebagai galat pendugaan dari masing-masing ulangan.
Note
fungsi apply
digunakan untuk menerapkan fungsi di R berdasarkan baris dan kolom. Coba gunakan fungsi mean, min, max, dan as.character dan lihat bagaimana hasilnya. Angka 2 pada fungsi apply
berarti operasi fungsi dilakukan berdasarkan kolom. Jika diubah menjadi angka 1 berarti operasi fungsi dilakukan berdasarkan baris.