Bahasa R adalah paket pemrograman statistik yang kaya akan operator vektor dan matriks. Matriks digunakan untuk menggabungkan vektor dengan tipe yang sama, yang bisa berupa numerik, karakter, atau logis. Matriks digunakan untuk menyimpan sebuah tabel data dalam bahasa R. Pada umumnya baris-baris matriks sebuah individu atau pengamatan dan kolom adalah variabel.

A. Membuat Matriks

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

# membuat vektor dengan bentuk 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
# 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

Perlu dingat

Pada matriks juga bisa dilakukan transform (merotasi matriks sehingga kolom menjadi baris dan sebaliknya) dengan menggunakan fungsi t().

t(my_data)
##      row1 row2 row3 row4 row5
## col1    5    6    7    8    9
## col2    2    4    5    9    8
## col3    7    3    4    8    7

Selain membuat matriks dari objek vektor, bisa juga menggunakan fungsi *matrix(). Dengan penulisan berikut.

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

Perlu dingat

Untuk mengetahui dimensi dari sebuah matriks, dapat menggunakan fungsi ncol()* untuk mengetahui jumlah kolom pada matriks, sedangkan nrow untuk mengetahui jumlah baris pada matriks.

ncol(my_data)
## [1] 3
nrow(my_data)
## [1] 5

Untuk mengetahui ringkasan dari dimensi matriks, dapat menggunakan fungsi dim() yang digunakan untuk mengetahui jumlah baris dan jumlah kolom sebuah matriks.

dim(my_data)
## [1] 5 3

B. Subset Pada Matriks

Sama halnya dengan vektor, subset juga dapat dilakukan pada matriks. Namun bedanya subset dengan vektor yaitu dilakukan berdasarkan baris dan kolom pada sebuah matriks.

1. Memilih baris / kolom berdasarkan pengindeksan positif

Cara seleksi tahapan ini sama dengan vektor, bedanya harus menentukan baris dan kolom dari data yang akan dipilih. Baris dan kolom diseleksi menggunakan fungsi data[row, col].

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

2. Memilih berdasarkan baris / kolom

#memilih baris 2 dan kolom 3
my_data["row2","col3"]
## [1] 3
#memilih baris 1 sampai 3 dan kolom 2
baris <- c("row1", "row2", "row3")
my_data[baris, "col2"]
## row1 row2 row3 
##    2    4    5

3. Memilih pengecualian baris/kolom dengan indeks negatif

# Kecualikan baris 1 dan 3 serta kolom 2
my_data[-c(1,3), -2]
##      col1 col3
## row2    6    3
## row4    8    8
## row5    9    7

4. Memilih dengan logik

#memilih baris dimana col2 >= 4
col2 <- my_data[, "col2"]
my_data[col2 >= 4, ]
##      col1 col2 col3
## row2    6    4    3
## row3    7    5    4
## row4    8    9    8
## row5    9    8    7

C. Perhitungan pada Matriks

Pada matriks juga bisa dilakukan penerapan operasi matematika. Operasi matematika pada matriks lebih kompleks dibandingkan dengan vektor. Dimana kita dapa melakukan operasi matematika pada tiap kolom / baris.

# Perkalian masing-masing elemen
my_data*3
##      col1 col2 col3
## row1   15    6   21
## row2   18   12    9
## row3   21   15   12
## row4   24   27   24
## row5   27   24   21
# menampilkan nilai log basis 2 pada masing-masing elemen
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 tiap kolom matriks
colSums(my_data)
## col1 col2 col3 
##   35   28   29
# Total tiap baris matriks
rowSums(my_data)
## row1 row2 row3 row4 row5 
##   14   13   16   25   24
# Menampilkan Rata-rata tiap baris
rowMeans(my_data)
##     row1     row2     row3     row4     row5 
## 4.666667 4.333333 5.333333 8.333333 8.000000
# Menampilkan Rata-rata tiap kolom
colMeans(my_data)
## col1 col2 col3 
##  7.0  5.6  5.8

Pada matriks juga bisa dilakukan perhitungan statistika menggunakan fungsi apply(). rumus dasar : apply(x, MARGIN, FUN)

Perlu dingat

# Rata-rata pada tiap baris matriks
apply(my_data, 1, mean)
##     row1     row2     row3     row4     row5 
## 4.666667 4.333333 5.333333 8.333333 8.000000
# Median pada tiap kolom matriks
apply(my_data, 2, median)
## col1 col2 col3 
##    7    5    7

Referensi

  1. (http://www.philender.com/courses/multivariate/notes/matr.html)
  2. (https://thinkstudioo.blogspot.com/2017/12/membuat-matriks-di-r-lengkap.html)
  3. (https://rstudio-pubs-static.s3.amazonaws.com/398904_5b7eb0646b8d4bcda344351a49501a5d.html#operasi-matriks)
  4. Tirta, I Made. 2015. Buku Panduan Program Statistika R. UNEJ