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