Kurs
Matrisler, öğelerin iki boyutlu bir yapıda temsil edildiği nesnelerdir; genellikle çeşitli hesaplamaları yapmak için sayısal öğeler içerir.
Örneğin, aşağıdaki matrise bakalım.
[,1] [,2] [,3]
[1,] 5 6 7
[2,] 8 9 10
[3,] 11 12 13
Yukarıdaki matris, 3 satır ve 3 sütun olduğunu gösterir.
R'de matris 'matrix()' kullanılarak oluşturulabilir.
Bir matrisin R'deki söz dizimi şu şekilde tanımlanabilir:
matrix(value, nrow, ncol, byrow, dimnames)
Yukarıdaki matris parametreleri aşağıda tanımlanmıştır:
- value - vektör girdisini belirtir; her giriş, matristeki öğeleri ifade eder.
- nrow - matristeki satır sayısını belirtir.
- ncol - matristeki sütun sayısını belirtir.
- byrow - TRUE veya FALSE olabilen boolean bir değerdir. TRUE ise matrisin öğeleri satır bazında, FALSE ise sütun bazında yerleştirilir.
- dimnames - bir matrisin satır ve sütunlarındaki öğelere verilen adları belirtir.
Aşağıdaki örnekte, 'mat' c içinde 8,4,5,6,7,9 değerlerinden oluşan vektör girdisine sahip bir matris adıdır. Ayrıca satır sayısı 'nrow' iki ve sütun sayısı 'ncol' üçtür; bu da matrisin boyutunun 2 * 3 olduğu anlamına gelir. Matrisin öğeleri satır bazında yerleştirilmiştir; yani vektör girdisi satır satır doldurulur.
mat = matrix(c(8,4,5,6,7,9),nrow = 2, ncol = 3,byrow = TRUE)
print(mat)
Yukarıdaki kodun çıktısı aşağıda gösterilmiştir; üç sütun ve iki satır vardır ve öğeler satır bazında doldurulmuştur.
[,1] [,2] [,3]
[1,] 8 4 5
[2,] 6 7 9
Satır ve Sütunları Adlandırma
1'den 9'a kadar öğeleri içeren ve satır sayısı 3 olan bir matris oluşturalım. Ayrıca satırlar ve sütunlar, r1'den r3'e ve c1'den c3'e kadar bir listeden oluşan vektör girdisiyle adlandırılır.
mat <- matrix(1:9, nrow = 3,dimnames = list(c("r1","r2","r3"), c("c1","c2","c3")))
mat
c1 c2 c3
r1 1 4 7
r2 2 5 8
r3 3 6 9
Yukarıdaki çıktı, 1'den 9'a kadar olan öğelerin sütun bazında doldurulduğunu gösterir. Ayrıca satır ve sütunlar r1'den r3'e ve c1'den c3'e etiketlenmiştir.
Bir Matristen Öğelere Erişim
Aşağıdaki matrisin adı 'mat'tır ve 3 satır ile 3 sütundan oluşur.
c1 c2 c3
r1 1 4 7
r2 2 5 8
r3 3 6 9
Yukarıdaki matrisin öğelerine tek tek erişmek için, matris adını köşeli parantez içinde satır ve sütunu belirterek kullanmanız gerekir.
- Yukarıdaki matristeki 5 öğesine erişmek için aşağıdaki söz dizimi kullanılır.
mat[2,2] - Yukarıdaki matristeki 6 öğesine erişmek için aşağıdaki söz dizimi kullanılır.
mat[3,2] - Matristeki tüm birinci sütuna, yani [1 2 3]'e erişmek için aşağıdaki söz dizimi kullanılır.
mat[,1] - Matristeki tüm ikinci satıra, yani [2 5 8]'e erişmek için aşağıdaki söz dizimi kullanılır.
mat[2,]
Matrislerde Hesaplama
Matris Toplama ve Çıkarma
Koşul: Matris toplama ve çıkarma için koşul, matrislerin aynı boyuta sahip olmasıdır; satır ve sütun sayıları aynı olmalıdır. Örneğin
Aşağıdaki mat1 ve mat2 matrisleri 3 * 3 boyutundadır; her iki matriste de 3 satır ve 3 sütun bulunur ve satır ile sütun sayıları eşittir.
mat1 <- matrix(c(5,10,15,20,25,30,35,40,45), nrow = 3)
print(mat1)
mat2 <- matrix(c(50,55,60,65,70,75,80,85,90), nrow = 3)
print(mat2)
[,1] [,2] [,3]
[1,] 5 20 35
[2,] 10 25 40
[3,] 15 30 45
[,1] [,2] [,3]
[1,] 50 65 80
[2,] 55 70 85
[3,] 60 75 90
Yukarıdaki matrisler yazdırılmıştır; her bir giriş veya öğe sütun bazında doldurulmuş şekilde gösterilir.
add_output <- mat1 + mat2
cat("Addition","\n")
print(add_output)
sub_output <- mat1 - mat2
cat("Subtraction","\n")
print(sub_output)
Addition
[,1] [,2] [,3]
[1,] 55 85 115
[2,] 65 95 125
[3,] 75 105 135
Subtraction
[,1] [,2] [,3]
[1,] -45 -45 -45
[2,] -45 -45 -45
[3,] -45 -45 -45
Yukarıdaki toplama ve çıkarma çıktılarında, her iki matrisin karşılık gelen öğeleri toplanmış veya çıkarılmıştır. Örneğin, matris toplamında mat1'de satır 1 ve sütun 1'deki 5 değeri, mat2'de satır 1 ve sütun 1'deki değerle toplanır ve sonuç 55 olur. Benzer şekilde, tüm öğeler toplama ve çıkarmada aynı süreci izleyerek yukarıdaki sonucu verir.
Matris Çarpma ve Bölme
Koşul: Matris çarpma ve bölme için koşul, satır ve sütun sayılarının benzer olmasıdır. Başka bir deyişle, boyutlar eşit olmalıdır.
Matris Çarpma
Aşağıdaki örnekte, mat1 ve mat2 adlı iki matris alınmıştır; her ikisinde de satır sayısı üç ve sütun sayısı ikidir. Matrislerde sütun bazında doldurulmuş altı öğe vardır ve her bir matrisin boyutu 3 * 2'dir.
mat1<- matrix(c(2,4,6,8,10,12), nrow = 3,ncol =2)
print(mat1)
mat2 <- matrix(c(14,16,18,20,22,24), nrow = 3,ncol=2)
print(mat2)
final <- mat1 * mat2
print('------------------')
cat("Multiplication","\n")
print(final)
[,1] [,2]
[1,] 2 8
[2,] 4 10
[3,] 6 12
[,1] [,2]
[1,] 14 20
[2,] 16 22
[3,] 18 24
-----------------
Multiplication
[,1] [,2]
[1,] 28 160
[2,] 64 220
[3,] 108 288
Yukarıdaki matris çarpımı çıktısı, mat1 ve mat2'deki her bir öğenin birbiriyle çarpıldığını gösterir. Örneğin, 'mat1[1][1]' yani 2, 'mat2[1][1]' yani 14 ile çarpılarak 28 sonucunu verir. Benzer şekilde süreç her iki matristeki tüm öğeler için izlenir ve son olarak 'mat1[3][2]' yani 12 ile 'mat2[3][2]' yani 24 çarpılarak 288 elde edilir.
Matris Bölme
Aşağıdaki örnekte, mat1 ve mat2 adlı iki matris alınmıştır; her ikisinde de satır sayısı üç ve sütun sayısı ikidir. Matrislerde sütun bazında doldurulmuş altı öğe vardır ve her bir matrisin boyutu 3 * 2'dir.
mat1<- matrix(c(2,4,6,8,10,12), nrow = 3,ncol =2)
print(mat1)
mat2 <- matrix(c(14,16,18,20,22,24), nrow = 3,ncol=2)
print(mat2)
final <- mat1 / mat2
print('--------------')
cat("Division","\n")
print(final)
[,1] [,2]
[1,] 2 8
[2,] 4 10
[3,] 6 12
[,1] [,2]
[1,] 14 20
[2,] 16 22
[3,] 18 24
--------------
Division
[,1] [,2]
[1,] 0.1428571 0.4000000
[2,] 0.2500000 0.4545455
[3,] 0.3333333 0.5000000
Yukarıdaki matris bölme çıktısı, mat1 ve mat2'deki her bir öğenin birbirine bölündüğünü gösterir. Örneğin, 'mat1[1][1]' yani 2, 'mat2[1][1]' yani 14'e bölünerek 0.1428571 sonucunu verir. Benzer şekilde süreç her iki matristeki tüm öğeler için izlenir ve son olarak 'mat1[3][2]' yani 12 ile 'mat2[3][2]' yani 24 bölünerek 0.5000000 elde edilir.
Tebrikler
Tebrikler, bu eğitimin sonuna geldiniz!
Bu eğitimde, R'nin matrisi, satır ve sütunları adlandırma, öğelere erişim ile toplama, çıkarma, çarpma ve bölme gibi hesaplamalar hakkında her şeyi öğreneceksiniz.
R hakkında daha fazla bilgi edinmek isterseniz, DataCamp'in Introduction to R kursunu alın.
