Matriks pada R

Membuat Matriks Pada R: Pada modul ini, kita akan fokus pada penggunaan fungsi matrix(). Untuk membuat matriks dengan fungsi ini, maka kita perlu menginputkan sebuah vektor kemudian ukuran dari matriks yang kita inginkan. Misal vektor [1,2,3,4] bisa dibuat menjadi matriks 2x2.

# Mendefinisikan matriks A
A <- matrix(c(1,2,3,4), #Vektor elemen matriks
            2,               #Jumlah baris
            2)               #Jumlah kolom
A
##      [,1] [,2]
## [1,]    1    3
## [2,]    2    4
Z <- matrix(c(4,7,8,10,-2,6),3,2)
Z
##      [,1] [,2]
## [1,]    4   10
## [2,]    7   -2
## [3,]    8    6

Mengecek apakah objek ini matriks atau bukan

#Apakah A matriks
is.matrix(A)
## [1] TRUE
#Apakah A Vektor
is.vector(A)
## [1] FALSE

Operasi Matriks pada R

Untuk melakukan operasi Matriks, kita tinggal mendefinisikan matriks yang akan kita operasikan terlebih dahulu kemudian melakukan operasi layaknya kalkulator.

#Mendefinisikan matriks A
A <- matrix(c(2,3,-2,1,2,2),3,2)
print(A)
##      [,1] [,2]
## [1,]    2    1
## [2,]    3    2
## [3,]   -2    2
print("-----------------")
## [1] "-----------------"
#Mendefinisikan matriks B
B <- matrix(c(1,4,-2,1,2,1),3,2)
print(B)
##      [,1] [,2]
## [1,]    1    1
## [2,]    4    2
## [3,]   -2    1

Perkalian Matriks dengan skalar

C=A*2
C
##      [,1] [,2]
## [1,]    4    2
## [2,]    6    4
## [3,]   -4    4

Penjumlahan dan Pengurangan Matriks

D=A+B
D
##      [,1] [,2]
## [1,]    3    2
## [2,]    7    4
## [3,]   -4    3
E=A-B
E
##      [,1] [,2]
## [1,]    1    0
## [2,]   -1    0
## [3,]    0    1

Perkalian Matriks Ingat, untuk melakukan perkalian matriks, aturan perkalian matriks harus dipenuhi.

F <- matrix(c(2,-2,1,2,3,1),2,3)
G <- A%*%F
G
##      [,1] [,2] [,3]
## [1,]    2    4    7
## [2,]    2    7   11
## [3,]   -8    2   -4

Transpose Matriks

H=t(B)
H
##      [,1] [,2] [,3]
## [1,]    1    4   -2
## [2,]    1    2    1

Matriks - Matriks Umum

Matriks Satuan

U <-matrix(1,  #Elemen satuan untuk matriks
          4,  #Jumlah baris
          4)  #Jumlah kolom
U
##      [,1] [,2] [,3] [,4]
## [1,]    1    1    1    1
## [2,]    1    1    1    1
## [3,]    1    1    1    1
## [4,]    1    1    1    1

Matriks Nol

V <- matrix(0,   # Elemen suatu matriks
           3,   # Jumlah baris
           3)   # jumlah Kolom
V
##      [,1] [,2] [,3]
## [1,]    0    0    0
## [2,]    0    0    0
## [3,]    0    0    0

Matriks Diagonal

#Mendefinisikan matriks S
S <- matrix(c(2,3,-2,1,2,2,4,2,3),3,3)
S
##      [,1] [,2] [,3]
## [1,]    2    1    4
## [2,]    3    2    2
## [3,]   -2    2    3
#Mengambil elemen diagonal matriks S
D1<- diag(S)
print(D1)
## [1] 2 2 3
#Membuat matriks diagonal D1
D1 <- diag(diag(S))
D1
##      [,1] [,2] [,3]
## [1,]    2    0    0
## [2,]    0    2    0
## [3,]    0    0    3

Matriks Identitas

I <- diag(c(1,1,1,1))
I
##      [,1] [,2] [,3] [,4]
## [1,]    1    0    0    0
## [2,]    0    1    0    0
## [3,]    0    0    1    0
## [4,]    0    0    0    1

Matriks Simetri

#Mendefinisikan matriks simetri K
K <- matrix(c(2,1,5,1,3,4,5,4,-2),3,3)
print(K)
##      [,1] [,2] [,3]
## [1,]    2    1    5
## [2,]    1    3    4
## [3,]    5    4   -2
#Transpose matriks K
K1 <- t(K)
print(K1)
##      [,1] [,2] [,3]
## [1,]    2    1    5
## [2,]    1    3    4
## [3,]    5    4   -2
#Hasilnya adalah matriks K=KT (Simetri). 
#Suatu matriks yang jika ditranspose matriksnya tidak berubah dikatakan matriks simetri

Aljabar Linear Matriks

Invers Matriks

#Mendefinisikan matriks A
A <- matrix(c(4,4,-2,2,6,2,2,8,4),3,3)
print(A)
##      [,1] [,2] [,3]
## [1,]    4    2    2
## [2,]    4    6    8
## [3,]   -2    2    4
#Menghitung inverse matriks A
#Kode menentukan invers suatu matriks
AI <- solve(A)
print(AI)
##      [,1] [,2] [,3]
## [1,]  1.0 -0.5  0.5
## [2,] -4.0  2.5 -3.0
## [3,]  2.5 -1.5  2.0
#Menunjukkan bahwa AI adalah invers dari A
print(A %*% AI) #Hasilnya matriks Identitas
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1

Determinan Matriks

#Mendefinisikan matriks A
A <- matrix(c(4,4,-2,2,6,2,2,8,4),3,3)
print(A)
##      [,1] [,2] [,3]
## [1,]    4    2    2
## [2,]    4    6    8
## [3,]   -2    2    4
#Menghitung determinan matriks A
d <- det(A)
print(d)
## [1] 8

Rank Matriks

#Mendefinisikan matriks A
A <- matrix(c(4,4,-2,2,6,2,2,8,4),3,3)
print(A)
##      [,1] [,2] [,3]
## [1,]    4    2    2
## [2,]    4    6    8
## [3,]   -2    2    4
#Menghitung rank matriks A
matA <- qr(A)
print(matA$rank)
## [1] 3

Baris dan Kolom pada Matriks

Jumlah Baris dan Kolom Matriks

#Mendefinisikan matriks A
A <- matrix(3,5,2)
print(A)
##      [,1] [,2]
## [1,]    3    3
## [2,]    3    3
## [3,]    3    3
## [4,]    3    3
## [5,]    3    3
#Menghitung ukuran matriks A
ukuran_A<-dim(A)
print(ukuran_A)
## [1] 5 2
#Menghitung jumlah baris matriks A
baris_A<-nrow(A)
print(baris_A)
## [1] 5
#Menghitung jumlah kolom matriks A
kolom_A<-ncol(A)
print(kolom_A)
## [1] 2

Menghitung elemen Baris dan Kolom Matriks

#Mendefinisikan matriks A
A <- matrix(c(2,3,-2,1,2,2),3,2)
print(A)
##      [,1] [,2]
## [1,]    2    1
## [2,]    3    2
## [3,]   -2    2
#Menghitung rata-rata kolom matriks A
cm=colMeans(A)
print(cm)
## [1] 1.000000 1.666667
#Menghitung rata-rata baris matriks A
rm=rowMeans(A)
print(rm)
## [1] 1.5 2.5 0.0
#Menghitung rata-rata elemen matriks A
em=mean(A)
print(em)
## [1] 1.333333

Gabungan Matriks

Gabungan Horizontal

#Mendefinisikan matriks A
A <- matrix(c(2,3,-2,1,2,2),3,2)
print(A)
##      [,1] [,2]
## [1,]    2    1
## [2,]    3    2
## [3,]   -2    2
#Mendefinisikan matriks B
B <- matrix(c(1,3,2,1,4,2),3,2)
print(B)
##      [,1] [,2]
## [1,]    1    1
## [2,]    3    4
## [3,]    2    2
#Menggabungkan matriks A dan B secara Horizontal
C <- cbind(A,B)
print(C)
##      [,1] [,2] [,3] [,4]
## [1,]    2    1    1    1
## [2,]    3    2    3    4
## [3,]   -2    2    2    2

Gabungan Vertikal(Appending)

#Mendefinisikan matriks A
A <- matrix(c(2,3,-2,1,2,2),3,2)
print(A)
##      [,1] [,2]
## [1,]    2    1
## [2,]    3    2
## [3,]   -2    2
#Mendefinisikan matriks B
B <- matrix(c(1,3,2,1,4,2),3,2)
print(B)
##      [,1] [,2]
## [1,]    1    1
## [2,]    3    4
## [3,]    2    2
#Menggabungkan matriks A dan B secara Vertikal
C <- rbind(A,B)
print(C)
##      [,1] [,2]
## [1,]    2    1
## [2,]    3    2
## [3,]   -2    2
## [4,]    1    1
## [5,]    3    4
## [6,]    2    2