R Programlamada Matrisler


Merhaba R severler,

Bugün dersimizde matrisleri inceleyeceğiz. Matrisler tek yüzey üzerinde iki boyutlu bir yapı olup içerisinde sayısal ve string karakter barındırabilmektedir. R programlamada matris oluşturabilmek için matrix() komutu kullanılmaktadır. Kodlara geçmeden önce bu komutun argümanlarını tanıyalım.

matrix(data, nrow, ncol, byrow, dimnames)

data; matris elemanlarını oluşturan veri seti

nrow; oluşturulacak satır sayısı

ncol; oluşturulacak sütun sayısı

dimnames; satır ve sütun başlıkları

Şimdi bir matris oluşturalım;

M <- matrix(c(3:14), nrow = 4, byrow = TRUE)

Yukarıdaki komutta 3’ten 14’e kadar sıralı bir dizi oluşturuluyor ve oluşturulurken “byrow” argümanı ile satırlar baz alınıyor. Eğer “byrow” argümanı FALSE değeri almış olsaydı değerler sütuna göre sıralanacaktı. Satır ve sütunlara isim verilmek istendiğinde “dimnames” argümanını kullanabiliriz.

rownames = c("row1", "row2", "row3", "row4")

colnames = c("col1", "col2", "col3")

P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames))

MATRİS ELEMANLARINA ERİŞİM

Matris elemanlarına erişim için yine elemanlara ait indis numarası kullanılmaktadır. Örneğin;

rownames = c("row1", "row2", "row3", "row4")

colnames = c("col1", "col2", "col3")

satır ve sütun isimlerini bir dizi şeklinde tanımladık.

P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames))

Daha sonra matrisimizi oluşturduk. Artık istediğimiz hücredeki veriye erişmek istediğimiz zaman indis numaraları kullanacağız.

print(P[1,3]) // burada esas olan ilk sayı satır indexini ikinci sayı ise sütun indexini göstermektedir.

Sadece satır ve ya sütuna erişmek istediğimiz zaman ise ilgili kısmı boş bırakabiliriz. Örneğin;

print(P[2,]) // sadece 2. Satırdaki elemanları listeler.

Burada önemli olan nesne tabanlı programlama dillerinde indis numarası 0’dan başlarken R programlamada bu sayı 1’den başlamaktadır.

MATRİSLERDE DÖRT İŞLEM

Daha önce liste ve vektörlerde olduğu gibi matris arasında da dört işlem aynıdır. Aşağıdaki örnekleri inceleyelim;

matrix1 <- matrix(c(3, 9, -1, 4, 2, 6), nrow = 2)

matrix2 <- matrix(c(5, 2, 0, 9, 3, 4), nrow = 2)

yukarıdaki komutta 2 satır 3 sütunlu iki adet matris oluşturulmaktadır. Bu matrisleri toplamak için yapılacak tek şey ilgili operatörleri kullanmak olacaktır.

matrix1 + matrix2  //matrislerin toplama işlemi

matrix1 - matrix2  // matrislerin çıkarma işlemi

Benzer şekilde matrisler birbiriyle çarpılabilir ve bölünebilir.

result <- matrix1 * matrix2

result <- matrix1 / matrix2

Matrisler ile ilgili şimdilik bu kadar. Soru ve önerileriniz için forum sayfamızı ( http://scansu.net/forum/showthread.php?tid=21 ) ya da chat penceresini kullanabilirsiniz.

Yazar Kimdir?

Sıtkı Cansu, 19 Ekim 1985 yilinda Konya-Beyşehir'de dogmustur.İlk, orta ve liseyi Beyşehir'de bitirmis olup Konya-Ereğli Selçuk MYO Bilgisayar programcılığı ve Mugla Sıtkı Koçman Üniversitesi İstatistik bölümünden mezun olmustur. Çesitli yerlerde web tasarımcı ve veri tabani yöneticisi olarak çalışan yazar, son üç senedir ingilizce öğretmenliği yapmaktadir. Şu anda yüksek lisansını tamamlamak üzere Mugla Üniversitesinde öğrenim görmektedir.