Membuat Fungsi
# membuat fungsi
MKT_Biasa <- function (X,y){
# memeriksa nilai yang dimasukkan
if (!is.matrix(X)) {
warning("X yang diinput harus berupa matriks.")
return(NULL)
}
if (!is.numeric(y)|| is.matrix(y) && ncol(y)!=1){
warning("y harus berupa vektor kolom dengan seluruh elemennya adalah numeric")
return(NULL)
}
if (length(y)!=nrow(X)) {
warning("Jumlah baris pada y harus sama dengan jumlah baris pada X")
return(NULL)
}
#membuat perkalian matriks tranpos dengan dirinya sendiri, lalu periksa apakah hasilnya matriks singular atau tidak.
XtX <- t(X) %*% X
if (rcond(XtX)==0) {
warning("Perkalian matriks menghasilkan matriks singular, koefisien regresi tidak bisa dihitung")
return(NULL)
}
#mencari nilai beta_duga
beta_duga <- solve(XtX) %*% t(X) %*% y
return(beta_duga)
}
Melakukan Uji Coba
a1 = matrix(c(1,5,
1,6,
1,7,
1,8,
1,9), nrow=5, byrow=T)
a2 = matrix(c(15,17,20,22,25), nrow=5)
beta_duga_a <- MKT_Biasa(a1,a2)
print(beta_duga_a)
## [,1]
## [1,] 2.3
## [2,] 2.5