Operasi-aljabar pada matriks dalam R merujuk pada berbagai operasi yang dapat dilakukan pada matriks untuk mengubah atau memanipulasinya. Beberapa operasi-aljabar yang umum dilakukan pada matriks dalam R meliputi penjumlahan, pengurangan, perkalian, dan transposisi.
a = matrix(
c(1, 2, 3, 4, 5, 6, 7, 8, 9),
nrow = 3,
ncol = 3,
byrow = TRUE
)
cat("The 3x3 matrix:\n")
## The 3x3 matrix:
print(a)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
cat("Adding 1 to every element:\n")
## Adding 1 to every element:
print(a + 1)
## [,1] [,2] [,3]
## [1,] 2 3 4
## [2,] 5 6 7
## [3,] 8 9 10
cat("Subtracting 3 from each element:\n")
## Subtracting 3 from each element:
print(a-3)
## [,1] [,2] [,3]
## [1,] -2 -1 0
## [2,] 1 2 3
## [3,] 4 5 6
cat("Multiplying each element by 10:\n")
## Multiplying each element by 10:
print(a * 10)
## [,1] [,2] [,3]
## [1,] 10 20 30
## [2,] 40 50 60
## [3,] 70 80 90
cat("Squaring each element:\n")
## Squaring each element:
print(a ^ 2)
## [,1] [,2] [,3]
## [1,] 1 4 9
## [2,] 16 25 36
## [3,] 49 64 81
cat("Doubled each element of original matrix:\n")
## Doubled each element of original matrix:
print(a * 2)
## [,1] [,2] [,3]
## [1,] 2 4 6
## [2,] 8 10 12
## [3,] 14 16 18
Penjumlahan matriks dilakukan dengan menjumlahkan elemen-elemen yang sesuai dari dua matriks yang memiliki ukuran yang sama. Hasilnya adalah matriks baru dengan elemen-elemen penjumlahan.
Pengurangan matriks dilakukan dengan mengurangkan elemen-elemen yang sesuai dari dua matriks yang memiliki ukuran yang sama. Hasilnya adalah matriks baru dengan elemen-elemen pengurangan.
a = matrix(
c(1, 2, 3, 4, 5, 6, 7, 8, 9),
nrow = 3,
ncol = 3,
byrow = TRUE
)
cat("The 3x3 matrix:\n")
## The 3x3 matrix:
print(a)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
cat("Largest element is:\n")
## Largest element is:
print(max(a))
## [1] 9
cat("Smallest element is:\n")
## Smallest element is:
print(min(a))
## [1] 1
cat("Sum of elements is:\n")
## Sum of elements is:
print(sum(a))
## [1] 45
Perkalian matriks dapat dilakukan dalam beberapa bentuk, seperti perkalian matriks dengan skalar (konstanta), perkalian dot (dot product), dan perkalian matriks-matriks dengan ukuran yang sesuai. Hasil perkalian matriks adalah matriks baru yang diperoleh dari kombinasi elemen-elemen matriks asal.
Transposisi matriks melibatkan penukaran baris menjadi kolom dan sebaliknya. Hasilnya adalah matriks baru yang elemen-elemennya telah ditukar posisinya.
a = matrix(
c(1, 2, 3, 4, 5, 6, 7, 8, 9),
nrow = 3,
ncol = 3,
byrow = TRUE
)
cat("The 3x3 matrix:\n")
## The 3x3 matrix:
print(a)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
# Create another 3x3 matrix
b = matrix(
c(1, 2, 5, 4, 6, 2, 9, 4, 3),
nrow = 3,
ncol = 3,
byrow = TRUE
)
cat("The another 3x3 matrix:\n")
## The another 3x3 matrix:
print(b)
## [,1] [,2] [,3]
## [1,] 1 2 5
## [2,] 4 6 2
## [3,] 9 4 3
cat("Matrix addition:\n")
## Matrix addition:
print(a + b)
## [,1] [,2] [,3]
## [1,] 2 4 8
## [2,] 8 11 8
## [3,] 16 12 12
cat("Matrix subtraction:\n")
## Matrix subtraction:
print(a-b)
## [,1] [,2] [,3]
## [1,] 0 0 -2
## [2,] 0 -1 4
## [3,] -2 4 6
cat("Matrix element wise multiplication:\n")
## Matrix element wise multiplication:
print(a * b)
## [,1] [,2] [,3]
## [1,] 1 4 15
## [2,] 16 30 12
## [3,] 63 32 27
cat("Regular Matrix multiplication:\n")
## Regular Matrix multiplication:
print(a %*% b)
## [,1] [,2] [,3]
## [1,] 36 26 18
## [2,] 78 62 48
## [3,] 120 98 78
cat("Matrix elementwise division:\n")
## Matrix elementwise division:
print(a / b)
## [,1] [,2] [,3]
## [1,] 1.0000000 1.0000000 0.6
## [2,] 1.0000000 0.8333333 3.0
## [3,] 0.7777778 2.0000000 3.0
Dalam R, operasi-aljabar pada matriks dapat dilakukan dengan menggunakan operator matematika yang sesuai, seperti + (penjumlahan), - (pengurangan), * (perkalian), dan fungsi-fungsi bawaan seperti t() untuk transposisi. Selain itu, terdapat juga fungsi-fungsi khusus dalam paket atau library tertentu yang dapat digunakan untuk melakukan operasi-aljabar yang lebih kompleks pada matriks.
A = matrix(
c(1, 2, 3, 4, 5, 6, 7, 8, 9),
nrow = 3,
ncol = 3,
byrow = TRUE
)
cat("The 3x3 matrix:\n")
## The 3x3 matrix:
print(A)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
print(eigen(A))
## eigen() decomposition
## $values
## [1] 1.611684e+01 -1.116844e+00 -1.303678e-15
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.2319707 -0.78583024 0.4082483
## [2,] -0.5253221 -0.08675134 -0.8164966
## [3,] -0.8186735 0.61232756 0.4082483
Dengan menggunakan operasi-aljabar pada matriks dalam R, kita dapat melakukan manipulasi, transformasi, dan analisis data yang melibatkan matriks dengan lebih efisien dan fleksibel.