Dosen Pengampu : Prof.Dr. Suhartono M.kom

Jurusan Teknik Informatika

Universitas Islam Negeri Maulana Malik Ibrahim Malang

Pengertian Matriks

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.

Cara Membuat Matriks

Untuk membuat matriks kita dapat menggunakan fungsi cbind() atau rbind(). Berikut adalah contoh sintaks untuk membuat matriks.

# membuat vektor numerik
col1 <- c(5, 6, 7, 8, 9)
col2 <- c(2, 4, 5, 9, 8)
col3 <- c(7, 3, 4, 8, 7)

# menggabungkan vektor berdasarkan kolom
my_data <- cbind(col1, col2, col3)
my_data
##      col1 col2 col3
## [1,]    5    2    7
## [2,]    6    4    3
## [3,]    7    5    4
## [4,]    8    9    8
## [5,]    9    8    7
# Mengubah atau menambahkan nama baris
rownames(my_data) <- c("row1", "row2", 
                       "row3", "row4", 
                       "row5")
my_data
##      col1 col2 col3
## row1    5    2    7
## row2    6    4    3
## row3    7    5    4
## row4    8    9    8
## row5    9    8    7

__Catatan_

cbind(): menggabungkan objek 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 tersebut dapat dituliskan sebagai berikut:

matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,
       dimnames = NULL)
##      [,1]
## [1,]   NA

Catatan

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.

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(1,2,3, 11,12,13), 
           nrow = 2, byrow = TRUE,
           dimnames = list(c("row1", "row2"), 
                           c("C.1", "C.2", "C.3"))
           )
data
##      C.1 C.2 C.3
## row1   1   2   3
## row2  11  12  13

Subset pada Matriks

Sama dengan vektor, subset juga dapat dilakukan pada matriks. Bedanya subset dilakukan berdasarkan baris dan kolom pada matriks.

Memilih baris/kolom

baris atau kolom dapat diseleksi menggunakan format data[row, col]. Cara selesi ini sama dengan vektor, bedanya kita harus menetukan baris dan kolom dari data yang akan kita pilih. Berikut adalah contoh penerapannya:

# Pilih baris ke-2
my_data[2,]
## col1 col2 col3 
##    6    4    3
# Pilih baris 2 sampai 4
my_data[2:4,]
##      col1 col2 col3
## row2    6    4    3
## row3    7    5    4
## row4    8    9    8
# Pilih baris 2 dan 4
my_data[c(2,4),]
##      col1 col2 col3
## row2    6    4    3
## row4    8    9    8
# Pilih baris 2 dan kolom 3
my_data[2, 3]
## [1] 3

Pilih berdasarkan nama baris/kolom

Berikut adalah contoh subset berdasarkan nama baris atau kolom.

# Pilih baris 1 dan kolom 3
my_data["row1","col3"]
## [1] 7
# Pilih baris 1 sampai 4 dan kolom 3
baris <- c("row1","row2","row3")
my_data[baris, "col3"]
## row1 row2 row3 
##    7    3    4

Kecualikan baris/kolom

Sama seperti vektor pengecualian data dapat dilakukan di matriks menggunakan pengindeksan negatif. Berikut cara melakukannya:

# Kecualikan baris 2 dan 3 serta kolom 3
my_data[-c(2,3), -3]
##      col1 col2
## row1    5    2
## row4    8    9
## row5    9    8

Pilihan dengan logik

Dalam kode R di bawah ini, misalkan kita ingin hanya menyimpan baris di mana col3> = 4:

col3 <- my_data[, "col3"]
my_data[col3 >= 4, ]
##      col1 col2 col3
## row1    5    2    7
## row3    7    5    4
## row4    8    9    8
## row5    9    8    7

Perhitungan Menggunakan Matriks

Berikut adalah contoh operasi matematika sederhana pada matriks:

# mengalikan masing-masing elemen matriks dengan 2
my_data*2
##      col1 col2 col3
## row1   10    4   14
## row2   12    8    6
## row3   14   10    8
## row4   16   18   16
## row5   18   16   14
# memperoleh nilai log basis 2 pada masing-masing elemen matriks
log2(my_data)
##          col1     col2     col3
## row1 2.321928 1.000000 2.807355
## row2 2.584963 2.000000 1.584963
## row3 2.807355 2.321928 2.000000
## row4 3.000000 3.169925 3.000000
## row5 3.169925 3.000000 2.807355
# Total pada tiap kolom
colSums(my_data)
## col1 col2 col3 
##   35   28   29
# Total pada tiap baris
rowSums(my_data)
## row1 row2 row3 row4 row5 
##   14   13   16   25   24

Referensi :

https://bookdown.org/moh_rosidi2610/Metode_Numerik/calculation.html#matriks