Lembaga : universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Pengertian

Matrix (matriks) merupakan kumpulan data yang memiliki baris dan kolom (i,j), dimana i adalah baris dan j adalah kolom. Isi didalam suatu matriks disebut elemen atau anggota. Dalam suatu matriks hanya dapat memuat 1 jenis tipe data. Untuk membuat suatu matriks dapat dibuat dengan perintah matrix().Matriks seperti Excel sheet yang berisi banyak baris dan kolom (kumpulan bebrapa vektor). 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.

Membuat Matriks

Untuk membuat matrix bisa berasal dari sebuah vektor, dengan mengatur berapa jumlah baris (nrow=) dan berapa jumlah kolomnya (ncol=).

matrix(1:20,nrow=5,ncol = 4)
##      [,1] [,2] [,3] [,4]
## [1,]    1    6   11   16
## [2,]    2    7   12   17
## [3,]    3    8   13   18
## [4,]    4    9   14   19
## [5,]    5   10   15   20
matrix(c(10,20,30,40,50,60),nrow=2)
##      [,1] [,2] [,3]
## [1,]   10   30   50
## [2,]   20   40   60
matrix(c(rep(1,4),rep(2,4)),ncol = 4)
##      [,1] [,2] [,3] [,4]
## [1,]    1    1    2    2
## [2,]    1    1    2    2
matrix(LETTERS[1:10],2,5)
##      [,1] [,2] [,3] [,4] [,5]
## [1,] "A"  "C"  "E"  "G"  "I" 
## [2,] "B"  "D"  "F"  "H"  "J"
dv<-c(10,20,30,40,50,60)

matrix(dv,2,3)
##      [,1] [,2] [,3]
## [1,]   10   30   50
## [2,]   20   40   60

Kalau diperhatikan pembuatan matriks dari vektor penyusunan urutannya kebawah atau berdasarkan kolomnya, sehingga untuk mengubah urutannya bisa menambahkan parameter tambahan yaitu byrow=TRUE. perhatikan contoh dibawah ini.

dv<-c(10,20,30,40,50,60)

matrix(dv,2,3)
##      [,1] [,2] [,3]
## [1,]   10   30   50
## [2,]   20   40   60
matrix(dv,2,3,byrow=TRUE)
##      [,1] [,2] [,3]
## [1,]   10   20   30
## [2,]   40   50   60

Memberikan nama matriks,kolom dan baris

Saat bekerja dengan sebuah struktur data misalnya matrix, sangat dianjurkan untuk medefenisikan nama dari suatu matrix, karena akan sangat memabntu saat akan digunakan kembali. Untuk memberikan nama/mendefiniskan variabel, contohnya mirip dengan pembelajaran sebelumnya.

m1<-matrix(c(10,20,30,40,50,60),ncol=2)
m1
##      [,1] [,2]
## [1,]   10   40
## [2,]   20   50
## [3,]   30   60
m2<-matrix(c(1,3,2,5,-1,2,2,3,9),ncol=3,byrow=T)
m2
##      [,1] [,2] [,3]
## [1,]    1    3    2
## [2,]    5   -1    2
## [3,]    2    3    9
dv<-c(10,20,30,40)
dv
## [1] 10 20 30 40
m3<-matrix(dv,2,2)
m3
##      [,1] [,2]
## [1,]   10   30
## [2,]   20   40

Selain dapat memberikan nama/mendefiniskan matrix, kita juga dapat memberikan nama untuk kolom dan baris suatu matrix. dengan fungsi colnames dan rownames. contohnya

m1<-matrix(c(10,20,30,40,50,60),ncol=2)
colnames(m1)<- c("K1","K2")
rownames(m1)<- c("B1","B2","B3")

Subset Pada Matriks

Sama dengan vektor, subset juga dapat dilakukan pada matriks. Bedanya subset dilakukan berdasarkan baris dan kolom pada matriks. • Memilih baris/kolom berdasarkan pengindeksan positif 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 dengan pengindeksan negatif 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

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

Kita juga dapat melakukan operasi matematika pada matriks. Pada operasi matematika pada matriks proses yang terjadi bisa lebih kompleks dibanding pada vektor, dimana kita dapat melakukan operasi untuk memperoleh gambaran data pada tiap kolom atau baris. 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.322 1.000 2.807
## row2 2.585 2.000 1.585
## row3 2.807 2.322 2.000
## row4 3.000 3.170 3.000
## row5 3.170 3.000 2.807

Seperti yang telah penulis jelaskan sebelumnya, kita juga dapat melakukan operasi matematika untuk memperoleh hasil penjumlahan elemen pada tiap baris atau kolom dengan menggunakan fungsi rowSums() untuk baris dan colSums() untuk kolom.

# 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

Jika kita tertarik untuk mencari nilai rata-rata tiap baris arau kolom kita juga dapat menggunakan fungsi rowMeans() atau colMeans(). Berikut adalah contoh penerapannya:

# Rata-rata tiap baris
rowMeans(my_data)
## row1 row2 row3 row4 row5
## 4.667 4.333 5.333 8.333 8.000
# Rata-rata tiap kolom
colMeans(my_data)
## col1 col2 col3
## 7.0 5.6 5.8

Kita juga dapat melakukan perhitungan statistika lainnya menggunakan fungsi apply(). Berikut adalah format sederhananya:

apply(x, MARGIN, FUN)

Catatan: • x : data matriks • MARGIN : Nilai yang dapat digunakan adalah 1 (untuk operasi pada baris) dan 2 (untuk operasi pada kolom) • FUN : fungsi yang diterapkan pada baris atau kolom

untuk mengetahui fungsi (FUN) apa saja yang dapat diterapkan pada fungsi apply() jalankan sintaks bantuan berikut: help(apply) Berikut adalah contoh penerapannya:

# Rata-rata pada tiap baris
apply(my_data, 1, mean)
## row1 row2 row3 row4 row5
## 4.667 4.333 5.333 8.333 8.000
# Median pada tiap kolom
apply(my_data, 2, median)
## col1 col2 col3
## 7 5 7

Referensi

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

https://swanstatistics.com/matriks-menggunakan-r-studio-part-1/