R Programlamada Listeler


Merhaba R severler,

Bugün dersimizde R programlamada listelerin işleyişine ve görevlerine çalışacağız. Liste nesneleri yine vektörlerde olduğu gibi numerik, string yada diğer değişken tiplerini içerisinde barındırmaktadır. R programlamada liste oluşturmak için list() komutu kullanılmaktadır. Listeler oluşturulurken içerisine dizi, sayısal yada karakter ifadeleri tanımlanabilmektedir. Liste aşağıdaki komut ile oluşturulabilir;

list_data <- list("Red", "Green", c(21,32,11), TRUE, 51.23, 119.1)

print(list_data)

Yukarıda oluşturulan liste değişkende string, dizi, lagical ve numerik ifadeler içermektedir. Tahmin edeceğiniz üzere liste değişken tek boyuttan oluşmaktadır.

Liste Elemanlarının İsimlendirilmesi

İçerisinde fazlaca veri barındıran listelere erişebilmek için isimlendirme yapılabilir. Böylelikle erişim daha da kolaylaşır ve özellikle veri setini bölmek istediğimiz zaman bu özelliği kullanabiliriz. Öncelikle içerisinde matris, dizi ve liste barındıran bir liste oluşturalım

list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow = 2),list("green",12.3))

Yukarıda görüldüğü gibi listemiz 3 adet elemandan oluşmaktadır. Şimdi bu liste elemanlarına isimler verelim.

names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")

print(list_data)

Görüldüğü gibi “names()” komutuyla isim ataması dizin komutu olan “c()” ile sağlanmaktadır.

Liste Elemanlarına Erişim

Oluşturulan liste elemanlarına erişim için elemanlara ait dizi numarası kullanılmaktadır. Yukarıdaki örneği ele alırsak list_data[1] elemanı “1st Quarter” olacaktır. Aşağıdaki örneği inceleyelim

list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow = 2),list("green",12.3))

names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")

print(list_data[1])

Yukarıda yine elemanlar için bir isimlendirme yaptık fakat erişim sağlarken isimler üzerinden değil dizi numaraları üzerinden erişim sağladık. Yukarıdaki komutun biz döndüreceği sonuç;

$`1st_Quarter`

[1] "Jan" "Feb" "Mar"

Olacaktır.

Liste Elemanlarını İşleme Yöntemleri

Oluşturulan liste elemanlarını silebilir, fazladan bir eleman ekleyebilir yada güncelleyebiliriz. Bu iş için kullanılacak ayrıca bir komut yoktur. Güncelleme, silme ya da ekleme işlemi dizi numarası üzerinden yapılmaktadır. Yukarıdaki örneği ele alarak devam edelim.

Eleman eklemek için;

list_data[4] <- "New element"

print(list_data[4])

Yukarıdaki komutta list_data listesine ait 4 diziye “New Element” isimli bir eleman eklenmektedir.

Eleman silmek için;

list_data[4] <- NULL

print(list_data[4])

Silme işleminin gerçekleşebilmesi için ilgili dizi numarasına NULL değer atanmaktadır.

Eleman güncellemek için;

list_data[3] <- "updated element"

print(list_data[3])

Önceden oluşturulmuş bir dizi elemanını güncellemek için önceden yaptığımız gibi dizi numarasını verip gerekli atamayı yapmak yeterli olacaktır.

Listeleri Birleştirme İşlemi

Öncelikle iki adet liste oluşturalım;

list1 <- list(1,2,3)

list2 <- list("Sun","Mon","Tue")

oluşturulan bu iki listeyi bir araya getirebilmek için kullanılacak komut yine dizi komutu olan “c()” olacaktır.

merged.list <- c(list1,list2)

print(merged.list)

Listeyi Vektöre Çevirme İşlemi

R programlamada listeleme yöntemi çok tercih edilen bir yöntem değildir çünkü esneklik sağlaması açısından listeler kısıtlıdır. Fakat listeyi vektörlere çevirerek veri seti üzerinde daha fazla hareket etme kabiliyeti kazandırabiliriz. Bu işlem için kullanacağımız komut unlist() olacaktır. Aşağıdaki örneği inceleyelim

list1 <- list(1:5)

print(list1)

list1 değişkeninin içerisine 1’den 5’e kadar sayıları listeledik.

list2 <-list(10:14)

print(list2)

list2 değişkeninin içerisine 10 ile 14 arasındaki sayıları listeledik.

v1 <- unlist(list1)

v2 <- unlist(list2)

yukarıdaki komutları kullandığımız zaman lsit1 ve list2 isimli değişkenlerimiz artık vektör olmuştur ve üzerinde işlem yapılmaya hazır durumdadır.

result <- v1+v2

print(result)

Konu ile ilgili soru ve önerileriniz için form sayfamızı ( http://scansu.net/forum/showthread.php?tid=19 ) yada sağ alt köşedeki 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.