Setup Menus in Admin Panel

swanstatistika02@gmail.com

Matriks Menggunakan R studio part 1

 

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().

Membuat matriks pada R studio

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")

Mengubah vektor menjadi matriks(matrix)

Mengubah vektor menjadi matrix bisa juga dilakukan dengan mengubah dimensi dari vektor itu sendiri. kita tahu bahwa dimensi dari matrix berupa baris dan kolom yang lebih dari satu. untuk merubah dimensi dari sebuah vektor bisa menggunakan fungsi dim, seperti contoh berikut:

mydata <- c(2.9, 3.4, 3.4, 3.7, 3.7, 2.8, 2.8, 2.5, 2.4, 2.4)
dim(mydata)
## NULL
is.vector(mydata)  #mengecek jenis struktur data apakah vektor atau bukan
## [1] TRUE

Pada contoh diatas, dimensi dari mydata. Jika mengecek menggunakan fungsi dim() akan menghasilkan NULL, yang menandakan bahwa mydata adalah vektor. selanjutnya kita ubah dimensi mydata, yang akan menghasilkan sebuah matrix.

dim(mydata)<-c(5,2)
mydata
##      [,1] [,2]
## [1,]  2.9  2.8
## [2,]  3.4  2.8
## [3,]  3.4  2.5
## [4,]  3.7  2.4
## [5,]  3.7  2.4
is.vector(mydata)
## [1] FALSE
is.matrix(mydata)
## [1] TRUE

Untuk mengubah kembali mydata dari matriks menjadi vektor dapat menggunakan fungsi yang sama

dim(mydata)<-NULL
mydata
##  [1] 2.9 3.4 3.4 3.7 3.7 2.8 2.8 2.5 2.4 2.4

Mengambil Elemen suatu matriks (Matrix)

Mengakses element suatu matriks dapat menggunakan kurung siku [baris,kolom], dengan mengakses indeks dari baris atau kolom yang diinginkan.

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
m2[2,3]                  #elemen dari m3 pada baris 2, kolom 3
## [1] 2
m2[2,]                   #baris 2
## [1]  5 -1  2
m2[,3]                   #kolom 3
## [1] 2 2 9
m2[-1,]                  #submatriks dari m3 tanpa baris pertama
##      [,1] [,2] [,3]
## [1,]    5   -1    2
## [2,]    2    3    9
m2[,-1]                  #submatriks dari m3 tanpa kolom pertama
##      [,1] [,2]
## [1,]    3    2
## [2,]   -1    2
## [3,]    3    9
m2[-1,-1]                #submatriks dari m3 tanpa kolom pertama dan baris pertama
##      [,1] [,2]
## [1,]   -1    2
## [2,]    3    9

Untuk memfilter baris berdasarkan nilai tertentu bisa menggunakan cara berikut pada matriks

#Mengambil nilai baris berdasarkan hasil filter kolom pertama yang lebih besar atau sama dengan 2
subset(m2,m2[,1]>=2)
##      [,1] [,2] [,3]
## [1,]    5   -1    2
## [2,]    2    3    9

Mencari index baris dan kolom yang memiliki nilai tertentu, misalnya seperti ini.

#dimana posisi elemen yang lebih besar dari 2
which(m2>2,arr.ind = TRUE)
##      row col
## [1,]   2   1
## [2,]   1   2
## [3,]   3   2
## [4,]   3   3

Operasi Aritmatika Matriks (Matrix)

#Operasi Matriks dalam R
2*m1                     #perkalian skalar
##    K1  K2
## B1 20  80
## B2 40 100
## B3 60 120
m1+m1                    #Penjumlahan antara Matriks
##    K1  K2
## B1 20  80
## B2 40 100
## B3 60 120
m2 %*% m1                #perkalian komponen matriks
##       K1  K2
## [1,] 130 310
## [2,]  90 270
## [3,] 350 770
t(m2)                    #transpose matriks
##      [,1] [,2] [,3]
## [1,]    1    5    2
## [2,]    3   -1    3
## [3,]    2    2    9
solve(m2)                #invers matriks
##            [,1]        [,2]        [,3]
## [1,]  0.1442308  0.20192308 -0.07692308
## [2,]  0.3942308 -0.04807692 -0.07692308
## [3,] -0.1634615 -0.02884615  0.15384615
diag(3)                  #Membuat matriks identitas (matriks yang memiliki nilai 1 pada diagonalnya)
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
diag(c(2,3,3))           #diagonal matriks
##      [,1] [,2] [,3]
## [1,]    2    0    0
## [2,]    0    3    0
## [3,]    0    0    3

Mengecek matrix

mydata <- c(2.9, 3.4, 3.4, 3.7, 3.7, 2.8, 2.8, 2.5, 2.4, 2.4)
dim(mydata)<-c(5,2)

class(mydata)       #mengetahui class suatu data
## [1] "matrix"
dim(mydata)         #mengetahui dimensi suatu matrix
## [1] 5 2
nrow(mydata)    #mengetahui jumlah baris suatu matrix
## [1] 5
ncol(mydata)    #mengetahui jumlah kolom suatu matrix
## [1] 2


Mei 17, 2021
Copyright © 2018 PT. Angsa Statistika Indonesia