Matrisler

Yaşam Bilimlerinde Veri Analizi

Emrah Kırdök, Ph.D.

2024-04-03

Matrisler

Matrisler

  • Veri analizi işlemlerinde iki boyutlu veri yapılarına ihtiyacımız olabilir.
  • Bu durumda matris veri yapılarını kullanıyoruz.
  • Matrisler de aynı vektörler gibi tek bir veri tipini kapsayabilir.
Table 1
head(state.x77)
           Population Income Illiteracy Life Exp Murder HS Grad Frost   Area
Alabama          3615   3624        2.1    69.05   15.1    41.3    20  50708
Alaska            365   6315        1.5    69.31   11.3    66.7   152 566432
Arizona          2212   4530        1.8    70.55    7.8    58.1    15 113417
Arkansas         2110   3378        1.9    70.66   10.1    39.9    65  51945
California      21198   5114        1.1    71.71   10.3    62.6    20 156361
Colorado         2541   4884        0.7    72.06    6.8    63.9   166 103766

Matris oluşturalım

  • yaprak_uzunlugu isimli vektörden bir matris oluşturalım.
yaprak_uzunlugu <- c(2.3, 3.4, 4.5, 1.2, 3.4, 
                    3, 1.8, 6.3, 2.1, 5)

Matris oluşturalım

  • matrix() fonksiyonunu kullanmalıyız
  • nrow satır
  • ncol sütun
matrix(yaprak_uzunlugu, nrow=5, ncol=2)
     [,1] [,2]
[1,]  2.3  3.0
[2,]  3.4  1.8
[3,]  4.5  6.3
[4,]  1.2  2.1
[5,]  3.4  5.0

Matris boyutları

Matris boyutlarını öğrenmek için üç farklı fonksiyon kullanabilirsiniz:

  • dim bir matrisin satır ve sütun sayılarını geri döndürür.
  • nrow sadece satır sayısını geri döndürür.
  • ncol sadece sütun sayısını geri döndürür.
ornek_matris <- matrix(yaprak_uzunlugu, nrow=5, ncol=2)

dim(ornek_matris)

Matris boyutları

[1] 5 2
nrow(ornek_matris)
[1] 5
ncol(ornek_matris)
[1] 2

Satır ve Sütün isimleri

İki fonksiyon kullanıyoruz:

  • rownames
  • colnames
rownames(ornek_matris) <- c("Satir1", "Satir2", "Satir3", 
                    "Satir4", "Satir5")

colnames(ornek_matris) <- c("Sutun1", "Sutun2")

ornek_matris
       Sutun1 Sutun2
Satir1    2.3    3.0
Satir2    3.4    1.8
Satir3    4.5    6.3
Satir4    1.2    2.1
Satir5    3.4    5.0

Matrislerle çalışmak

İki tane indis kullanmalıyız:

  • Satır (birinci indis)
  • Sütun (ikinci indis)
  • Dördüncü satır ikinci elemana erişelim:
ornek_matris[4,2]
[1] 2.1

Matrislerle çalışmak

Sadece ikinci sütunda bulunan, 2 ve 4 arasındaki satırlara erişmek istersek?

ornek_matris[2:4,2]
Satir2 Satir3 Satir4 
   1.8    6.3    2.1 
  • 2:4 yapısı bize 2, 3, 4 vektörünü geri döndürecektir.

Matrislerle çalışmak

Sadece 4. satırı geri döndürmek için:

ornek_matris[4,]
Sutun1 Sutun2 
   1.2    2.1 
  • Sütun indisini kullanmazsak, bütün sütun elementlerini geri döndürür.
  • Sadece birinci sütunu geri döndürmek için ise:
ornek_matris[,1]
Satir1 Satir2 Satir3 Satir4 Satir5 
   2.3    3.4    4.5    1.2    3.4 

Matrislerde mantıksal işlemler

  • Mesela ikinci sütunda, 5’den büyük satırları geri döndürelim:
ornek_matris[,2] > 5
Satir1 Satir2 Satir3 Satir4 Satir5 
 FALSE  FALSE   TRUE  FALSE  FALSE 
  • 5’den büyük olan değerleri bize TRUE olarak gösterdi.
  • Mantıksal vektörü tekrar indis olarak kullanalım:
ornek_matris[ornek_matris[,2] > 5, 2]
[1] 6.3

Matrislerle çalışmak

  • Bütün matriste karşılaştırma yapalım:
ornek_matris > 3
       Sutun1 Sutun2
Satir1  FALSE  FALSE
Satir2   TRUE  FALSE
Satir3   TRUE   TRUE
Satir4  FALSE  FALSE
Satir5   TRUE   TRUE

Bunu tekrar bir indis olarak geri kullanalım:

ornek_matris[ornek_matris > 3]
[1] 3.4 4.5 3.4 6.3 5.0

Gördüğünüz gibi bize bir vektör geri döndürdü. Çünkü tek indis kullandık. Bu özellik matrislere özgüdür.