Home » R » Struktur Data R : Matriks di R Language

Struktur Data R : Matriks di R Language

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Matriks

Matriks adalah Objek R yang elemen-elemennya disusun dalam tata letak persegi dua dimensi . Matriks ini mengandung unsur-unsur dari jenis atom yang sama. Meskipun kita dapat membuat matriks yang hanya berisi karakter atau nilai logika saja, mereka tidak banyak berguna. Kita akan gunakan matriks yang mengandung elemen numerik untuk digunakan dalam perhitungan matematika. Singkatnya, matriks adalah kumpulan data dua dimensi dengan kolom dan baris. Kolom adalah representasi data secara vertikal, sedangkan baris adalah representasi data secara horizontal.

Matriks dapat dibuat dengan fungsi matrix(). Tentukan parameter nrow dan ncol untuk mendapatkan jumlah baris dan kolom:

Contoh

#  Buat matrix
thismatrix <- matrix(c(1,2,3,4,5,6), nrow = 3, ncol = 2)

# Tampilkan matrix
thismatrix

Output :

     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6

Catatan: Ingat fungsi c() digunakan untuk menggabungkan item bersama.

Bisa juga membuat matriks dengan string:

Contoh

thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)

thismatrix

Output :

     [,1]     [,2]    
[1,] "apple"  "cherry"
[2,] "banana" "orange"

Syntax

Seperti yang di contohkan oleh kode di atas, sekarang kita akan lebih memahami mengenai sintaks matriks di R. Sintaks dasar untuk membuat matriks di R :

matrix(data, nrow, ncol, byrow, dimnames)

Deskripsi Syntax :

  • data adalah vektor masukan yang menjadi elemen data pada matriks.
  • nrow adalah jumlah baris yang akan dibuat.
  • ncol adalah jumlah kolom yang akan dibuat.
  • byrow adalah petunjuk logika. Jika TRUE maka elemen vektor masukan disusun berdasarkan baris.
  • dimnames adalah nama yang diberikan ke baris dan kolom.
# Elemen disusun secara berurutan menurut baris.
M <- matrix(c(3:14), nrow = 4, byrow = TRUE)
print(M)

# Elemen disusun secara berurutan berdasarkan kolom..
N <- matrix(c(3:14), nrow = 4, byrow = FALSE)
print(N)

# Tentukan nama kolom dan baris.
rownames = c("row1", "row2", "row3", "row4")
colnames = c("col1", "col2", "col3")

P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames))
print(P)

Output :

     [,1] [,2] [,3]
[1,]    3    4    5
[2,]    6    7    8
[3,]    9   10   11
[4,]   12   13   14
     [,1] [,2] [,3]
[1,]    3    7   11
[2,]    4    8   12
[3,]    5    9   13
[4,]    6   10   14
     col1 col2 col3
row1    3    4    5
row2    6    7    8
row3    9   10   11
row4   12   13   14

Mengakses Item Matriks

Elemen-elemen matriks dapat diakses dengan menggunakan indeks kolom dan baris dari elemen tersebut. Kami mempertimbangkan matriks P di atas untuk menemukan elemen spesifik di bawah ini. Kita mengakses itemnya dengan menggunakan tanda kurung []. Angka pertama “1” dalam tanda kurung menentukan posisi baris, sedangkan angka kedua “2” menentukan posisi kolom:

Contoh

thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)

thismatrix[1, 2]

Output :

[1] "cherry"

Seluruh baris dapat diakses jika sudah menentukan koma setelah nomor dalam tanda kurung:

Contoh

thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)

thismatrix[2,]

Output :

[1] "banana" "orange"

Seluruh kolom dapat diakses jika menentukan koma sebelum nomor di tanda kurung:

Contoh

thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)

thismatrix[,2]

Output :

[1] "cherry" "orange"

Akses Lebih dari Satu Baris

Kita bisa mengakses lebih dari satu baris pada matris di R ini, gunakan fungsi c() .

Contoh :

thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)

thismatrix[c(1,2),]

Output :

     [,1]     [,2]     [,3]   
[1,] "apple"  "orange" "pear" 
[2,] "banana" "grape"  "melon"

Akses Lebih dari Satu Kolom

Kita bisa mengakses lebih dari satu kolom pada matris di R ini, gunakan fungsi c() .

Contoh :

thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)

thismatrix[, c(1,2)]

Output :

    [,1]     [,2]       
[1,] "apple"  "orange"   
[2,] "banana" "grape"    
[3,] "cherry" "pineapple"

Tambahkan Baris dan Kolom

Gunakan fungsi cbind() untuk menambahkan kolom tambahan dalam Matriks:

Contoh

thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)

newmatrix <- cbind(thismatrix, c("strawberry", "blueberry", "raspberry"))

# tampilkan matrix yang baru
newmatrix

Output :

     [,1]     [,2]        [,3]    [,4]        
[1,] "apple"  "orange"    "pear"  "strawberry"
[2,] "banana" "grape"     "melon" "blueberry" 
[3,] "cherry" "pineapple" "fig"   "raspberry" 

Catatan: Sel di kolom yang baru harus memiliki panjang yang sama dengan matriks yang sudah ada.

Gunakan fungsi rbind() untuk menambahkan baris tambahan dalam Matriks:

Contoh

thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)

newmatrix <- rbind(thismatrix, c("strawberry", "blueberry", "raspberry"))

# tampilkan matrix yang baru
newmatrix

Output :

     [,1]         [,2]        [,3]       
[1,] "apple"      "orange"    "pear"     
[2,] "banana"     "grape"     "melon"    
[3,] "cherry"     "pineapple" "fig"      
[4,] "strawberry" "blueberry" "raspberry"

Catatan: Sel di baris baru harus memiliki panjang yang sama dengan matriks yang sudah ada.

Hapus Baris dan Kolom

Gunakan fungsi c() untuk menghapus baris dan kolom dalam Matriks:

Contoh

thismatrix <- matrix(c("apple", "banana", "cherry", "orange", "mango", "pineapple"), nrow = 3, ncol =2)

#Hapus baris pertama dan kolom pertama
thismatrix <- thismatrix[-c(1), -c(1)]

thismatrix

Output :

[1] "mango"     "pineapple"

Memeriksa Item

Untuk mengetahui apakah item tertentu ada dalam matriks, gunakan operator %in%:

Contoh
Periksa apakah “appel” ada dalam matriks:

thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)

"apple" %in% thismatrix

Output :

[1] TRUE

Jumlah Baris dan Kolom

Gunakan fungsi dim() untuk menemukan jumlah baris dan kolom dalam Matriks:

Contoh

thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)

dim(thismatrix)

Output :

[1] 2 2

Panjang Matriks

Gunakan fungsi length() untuk mencari dimensi Matriks:

Contoh

thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)

length(thismatrix)

Output :

[1] 4

Total sel dalam matriks adalah jumlah baris yang dikalikan dengan jumlah kolom.

Dalam contoh di atas: Dimensi = 2 * 2 = 4.

Melakukan Looping Pada Matrix

Kita bisa melakukan loop melalui matriks menggunakan for loop. Putaran akan dimulai dari baris pertama dan akan bergerak ke kanan:

Contoh
Ulangi item pada matriks dan cetak:

thismatrix <- matrix(c("apple", "banana", "cherry", "orange"), nrow = 2, ncol = 2)

for (rows in 1:nrow(thismatrix)) {
  for (columns in 1:ncol(thismatrix)) {
    print(thismatrix[rows, columns])
  }
}

Output :

[1] "apple"
[1] "cherry"
[1] "banana"
[1] "orange"

Gabungkan dua Matriks

Gunakan fungsi rbind() atau cbind() untuk menggabungkan dua atau lebih matriks bersama-sama:

Contoh

# Kombinasikan matriks
Matrix1 <- matrix(c("apple", "banana", "cherry", "grape"), nrow = 2, ncol = 2)
Matrix2 <- matrix(c("orange", "mango", "pineapple", "watermelon"), nrow = 2, ncol = 2)

# Tambahkan sebagai baris
Matrix_Combined <- rbind(Matrix1, Matrix2)
Matrix_Combined

# Tambahkan sebagai kolom
Matrix_Combined <- cbind(Matrix1, Matrix2)
Matrix_Combined

Output :

    [,1]     [,2]        
[1,] "apple"  "cherry"    
[2,] "banana" "grape"     
[3,] "orange" "pineapple" 
[4,] "mango"  "watermelon"
     [,1]     [,2]     [,3]     [,4]        
[1,] "apple"  "cherry" "orange" "pineapple" 
[2,] "banana" "grape"  "mango"  "watermelon"

Perhitungan Matriks

Kita dapat menjalankan operasi matematika pada matriks dengan menggunakan operator R. Hasil dari operasi matematika yang di jalankan juga akan berupa matriks.

Dimensi (jumlah baris dan kolom) harus sama untuk matriks yang terlibat dalam operasi.

Penambahan & Pengurangan Matriks

Contoh

# buat matriks 2 x 3.
matrix1 <- matrix(c(3, 9, -1, 4, 2, 6), nrow = 2)
print(matrix1)

matrix2 <- matrix(c(5, 2, 0, 9, 3, 4), nrow = 2)
print(matrix2)

# tambahkan matriks 
result <- matrix1 + matrix2
cat("Hasil penjumlahan","\n")
print(result)

# Kurangi matriks
result <- matrix1 - matrix2
cat("Hasil pengurangan","\n")
print(result)

Output :

     [,1] [,2] [,3]
[1,]    3   -1    2
[2,]    9    4    6
     [,1] [,2] [,3]
[1,]    5    0    3
[2,]    2    9    4
Hasil penjumlahan 
     [,1] [,2] [,3]
[1,]    8   -1    5
[2,]   11   13   10
Hasil pengurangan 
     [,1] [,2] [,3]
[1,]   -2   -1   -1
[2,]    7   -5    2

Perkalian & Pembagian Matriks

Contoh

# buat matriks 2 x 3.
matrix1 <- matrix(c(3, 9, -1, 4, 2, 6), nrow = 2)
print(matrix1)

matrix2 <- matrix(c(5, 2, 0, 9, 3, 4), nrow = 2)
print(matrix2)

# Matriks perkalian.
result <- matrix1 * matrix2
cat("Hasil dari perkalian","\n")
print(result)

# Matriks pembagian
result <- matrix1 / matrix2
cat("Hasil dari pembagian","\n")
print(result)

Output :

     [,1] [,2] [,3]
[1,]    3   -1    2
[2,]    9    4    6
     [,1] [,2] [,3]
[1,]    5    0    3
[2,]    2    9    4
Hasil dari perkalian 
     [,1] [,2] [,3]
[1,]   15    0    6
[2,]   18   36   24
Hasil dari pembagian
     [,1]      [,2]      [,3]
[1,]  0.6      -Inf 0.6666667
[2,]  4.5 0.4444444 1.5000000

Sekian dulu yaa teman-teman semoga bermanfaat.

You may also like