Artikel ini akan membahas tentang materi matriks, dimulai dari pengertian matriks, jenis-jenis matriks, dan cara membuat matriks di dalam R Studio di R Studio.
Matriks adalah suatu kumpulan bilangan yang disusun berdasarkan baris dan kolom. Matriks disebut ditandai dengan tanda kurung baik kurung biasa “( )” atau kurung siku “[ ]”. Bilangan-bilangan yang membentuk matriks disebut sebagai elemen. Matriks berfungsi membuat data agar lebih mudah diolah.Dalam R, matriks digunakan untuk menggabungkan vektor dengan tipe yang sama, yang bisa berupa numerik, karakter, atau logis. Matriks digunakan untuk menyimpan tabel data dalam R. Baris-baris matriks pada umumnya adalah individu / pengamatan dan kolom adalah variabel.
Bentuk umum matriks dinyatakan sebagai berikut.
Untuk membuat matriks di R Studio dapat menggunakan fungsi cbind() dan rbind(). Berikut contohnya.
# membuat vektor
pil1 <- c(5, 4, 3, 2, 1)
pil2 <- c(10, 9, 8, 7, 6)
pil3 <- c(4, 8, 7, 6, 2)
# menggabungkan vektor berdasarkan kolom
my_data <- cbind(pil1, pil2, pil3)
my_data
## pil1 pil2 pil3
## [1,] 5 10 4
## [2,] 4 9 8
## [3,] 3 8 7
## [4,] 2 7 6
## [5,] 1 6 2
Untuk mengubah dan menambahkan nama baris bisa dengan menggunakan fungsi rownames
rownames(my_data) <- c("baris1","baris2",
"baris3","baris4",
"baris5")
my_data
## pil1 pil2 pil3
## baris1 5 10 4
## baris2 4 9 8
## baris3 3 8 7
## baris4 2 7 6
## baris5 1 6 2
Ingat!
- cbind ; menggabungkan onjek R berdasarkan kolom
- rbind() : menggabungkan objek R berdasarkan baris
- rownames() : mengambil atau menetapkan nama-nama baris dari objek seperti-matriks
- colnames(): mengambil atau menetapkan nama-nama kolom dari objek seperti-matriks
Selain melalui pembentukan sejumlah objek vektor, kita juga dapat membuat matriks menggunakan fungsi matrix(). Secara sederhana fungsi atau sintaks tersebut dapat dituliskan sebagai berikut:
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,
dimnames = NULL)
## [,1]
## [1,] NA
Keterangan :
- data: vektor data opsional
- nrow, ncol: jumlah baris dan kolom yang diinginkan, masing-masing.
- byrow: nilai logis. Jika FALSE (default) matriks diisi oleh kolom, jika tidak, matriks diisi oleh baris.
- dimnames: Daftar dua vektor yang memberikan nama baris dan kolom masing-masing.
Contohnya yaitu sebagai berikut. Dengan memakai sintaks tersebut kita hanya perlu menyebutkan jumlah baris atau kolom saja sisanya akan ditentukan otomatis. Matriks diisi kolom demi kolom saat argumen byrow = FALSE. Jika kita ingin mengisi matriks dengan baris, gunakan byrow = TRUE. Berikut adalah contoh pembuatan matriks menggunakan fungsi matrix().
data <- matrix(
data = c(4,5,6, 20,25,30),
ncol = 2, byrow = FALSE,
dimnames = list(c("row1", "row2","row3"),
c("C.1", "C.2"))
)
data
## C.1 C.2
## row1 4 20
## row2 5 25
## row3 6 30
Dari perhitungan di atas, dapat dilihat kita memasukkan jumlah kolom pada ncol sebanyak 3 kolom kemudian menuliskan byrow = FALSE, sehingga program akan menentukan sendiri jumlah baris pada matriks, yaitu sebanyak 3 baris.
Untuk mengetahui jumlah kolom pada matriks kita dapat menggunakan fungsi ncol(). Contohnya :
# mengetahui jumlah kolom
ncol(my_data)
## [1] 3
Untuk mengetahui jumlah baris pada matriks kita dapat menggunakan fungsi nrow(). Contohnya :
# mengetahui jumlah baris
nrow(my_data)
## [1] 5
Jika ingin memperoleh ringkasan terkait dimensi matriks kita juga dapat mengunakan fungsi dim() untuk mengetahui jumlah baris dan kolom matriks. Berikut adalah contoh penerapannya:
dim(my_data) # jumlah baris dan kolom
## [1] 5 3
Matriks satuan adalah matriks yang baris dan kolomnya mempunyai nilai yang sama.
U<-matrix(3, #Elemen satuan untuk matriks
4, #Jumlah baris
5) #Jumlah kolom
U
## [,1] [,2] [,3] [,4] [,5]
## [1,] 3 3 3 3 3
## [2,] 3 3 3 3 3
## [3,] 3 3 3 3 3
## [4,] 3 3 3 3 3
Dari contoh di atas dapat dilihat bahwa baris dan kolom mempunyai nilai yang sama yaitu bernilai 3.
Matriks nol adlah matriks yang mempunyai nilai nol pada baris dan kolomnya.
Z<-matrix(0, #Elemen satuan untuk matriks
3, #Jumlah baris
3) #Jumlah kolom
Z
## [,1] [,2] [,3]
## [1,] 0 0 0
## [2,] 0 0 0
## [3,] 0 0 0
Dari contoh di atas dapat dilihat bahwa baris dan kolom bernilai 0.
Matriks identitas adalah matriks persegi yang semua elemen pada diagonal utamanya bernilai satu, sedangkan elemen lainnya bernilai nol.
I <- diag(c(1,1,1))
I
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] 0 0 1
Matriks Simetri adalah matriks yang mempunyai nilai yang sama sebelum dan sesduah ditranspos.
#Mendefinisikan matriks simetri A
A <- matrix(c(5,3,4,1,3,4,1,8,-2),3,3) # matriks mempunyai jumlah baris dan kolom 3
print(A)
## [,1] [,2] [,3]
## [1,] 5 1 1
## [2,] 3 3 8
## [3,] 4 4 -2
#Transpos matriks A
AT <- t(A)
print(AT)
## [,1] [,2] [,3]
## [1,] 5 3 4
## [2,] 1 3 4
## [3,] 1 8 -2
Dapat dilihat dari hasilnya bahwa matriks tersebut adalah matriks simetri karena nilai matriks sebelum dan sesudah di transpos bernilai sama.
Matriks diagonal adalah matriks persegi yang elemen-elemen selain diagonal utamanya bernilai nol.
#Mendefinisikan matriks B
B <- matrix(c(2,5,-2,1,-9,2,4,8,3),3,3)
print(B)
## [,1] [,2] [,3]
## [1,] 2 1 4
## [2,] 5 -9 8
## [3,] -2 2 3
#Mengambil elemen diagonal matriks B
D1<- diag(B)
print(D1)
## [1] 2 -9 3
#Membuat matriks diagonal D1
D1 <- diag(diag(B))
D1
## [,1] [,2] [,3]
## [1,] 2 0 0
## [2,] 0 -9 0
## [3,] 0 0 3