-->

OPERASI MATRIX IN R


Suatu matriks dapat digunakan dengan indeks tunggal untuk memberukan nilai untuk koleksi elemen yang tidak beraturan dalam array tersebut, atau untuk mengekstraksi koleksi yang tidak beraturan sebagai suatu vektor.
Contoh yang jelas adalah suatu matriks. Dalam hal indeks ganda suatu array, suatu indeks matriks dapat terdiri dari dua kolom dan banyak baris sesuai dengan yang diinginkan. Entri dalam indeks matriks adalah indeks baris dan kolom untuk array berindeks ganda. Misalkan kita memilik array X berdimensi 4x5 dan untuk mendapatkan array X tersebut dapat melakukan hal sebagai berikut:

− Ekstrak elemen X[1,3], X[2,2] dan X[3,1] sebagai suatu struktur
vektor, dan
− Menggantikan entri-entri pada indeks tersebut dengan 0 dalam array X
Dalam kasus ini, diperlukan suatu array bersubscript 3x2 seperti contoh berikut ini:
> x <- array(1:20, dim=c(4,5))
Perintah tersebut akan membentuk array berukuran 4 x 5
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20
> i <- array(c(1:3,3:1), dim=c(3,2))
Perintah tersebut akan membentuk array berukuran 3x2
> i
[,1] [,2]
[1,] 1 3
[2,] 2 2
[3,] 3 1
> x[i] # Mengekstrak elemen-elemen tersebut
[1] 9 6 3
> x[i] <- 0
perintah di atas mengganti elemen-elemen tersebut dengan nol
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 0 13 17
[2,] 2 0 10 14 18
[3,] 0 7 11 15 19
[4,] 4 8 12 16 20

Indeks negatif tidak diperbolehkan dalam indeks matriks. Nilai 0 dalam indeks
matriks akan diabaikan, sedangkan nilai NA akan menghasilkan NA.



  • Fasilitas matriks

Matriks merupakan array dengan dua subscript (baris dan kolom).Dalam bagian ini akan dijelaskan fasilitas matriks yakni operasi dan operator yang penting dalam matriks seperti perkalian matriks, persamaan linier, inverse matriks,nilai eigen dan vektor eigen, determinan dan dekomposisi nilai tunggal, least squares
fitting and the dekomposisi QR.
Perkalian matrik
Jika A dan B adalah matrik, maka
> A * B
matrik dengan perkalian elemen (elemen product) dan dinyatakan sebagai:
> A %*% B
matrik dengan perkalian matriks (matrix product). Jika x adalah vektor, maka
> x %*% A %*% x
adalah bentuk kuadrat.
Fungsi crossprod() membentuk “crossproducts”, yang berarti crossprod(x,y) adalah sama dengan t(x)%*% y. Dalam hal ini akan lebih efisien dalam penulisan.
Fungsi diag() mempunyai arti yang tergantung pada argumennya. Untuk vektor v,maka diag(v), berarti s diagonal matrik v.Untuk matrik M, diag(M), berarti matrikx yang merupakan diagonal utama dari
matrik M. Konvensi pengertian tersebut serupa juga dalam software Matlab.34
Persamaan linier dan inverse matrik R mempunyai fasilitas untuk mencari pemecahan persamaan linier matriks dan invers matrik.
Diberikan matrik A dan b , maka persamaan Ax = b dituliskan,
> b <- A %*% x
dengan vektor x adalah solusi sistem persamaan linier (spl).
Solusi dari persamaan tersebut, dalam R ditulis:
> solve(A,b)
Dalam aljabar linier, secara formal x = A-1 b dimana A-1 menyatakan inverse A,yang dapat dihitung dengan solve(A) tetapi jarang digunakan. Secara nukerik,keduanya tidak efisien dan berpotensi tidak stabil untuk menghitung
> x <- solve(A) %*% b daripada solve(A,b).



LihatTutupKomentar