29 Ekim 2015 Perşembe

R dplyr kütüphanesi


Dplyr R programlama dilinde en çok kullanılan kütüphanelerden birisidir. Bu kütüphanenin temel işlevi veri işlemeyi (data manipulation) son derece kolaylaştırmasıdır. Herhangi bir veri tabanı üzerinde sorgu yazmış kişiler için bu kütüphaneyi anlamak ve kullanmak hiçte zor olmayacaktır. Aradaki benzerliği şöyle açıklayayım;

Örneğin bizim veri tabanımızda tablolar ve bu tabloların içerisinde de kayıtlarımız mevcuttur. Biz SQL komutları ile bu verilere erişebilir , sıralayabilir , gruplayabilir , belli kriterlere sahip olanları getirebilir ve daha birçok işlemi yapabiliriz. R içerisinde de kendi oluşturduğumuz veriler ve dışarıdan okuduğumuz csv , txt vb. veri setlerinin içerisinde de benzer işlevleri yapmamızı sağlayan kütüphane "dplyr" dir. Bu yüzden kullanımı çok yaygındır.

Kodlara göz atmadan önce R içerisine bu kütüphaneyi indirmeliyiz , bunun için aşağıdaki kodu kullanabiliriz ya da paket yükleyiciden indirebiliriz;

install.packages("dplyr")

Ben Linux kullanıyorum ve R'ı ilk yüklediğimde 3.0.2 sürümünü yükledi ve bu sürümde kütüphaneyi kullanamıyoruz. Eğer böyle bir sorunla karşılaşırsanız aşağıdaki linkte anlatıldığı gibi R'ı 3.1.0 a yükseltebilirsiniz;

http://sysads.co.uk/2014/06/install-r-base-3-1-0-ubuntu-14-04/

İndirdikten sonra da library(dplyr) ile projemize dahil delim ve R içerisinde hazır bulunan "mtcars" verisi üzerinde birkaç komut yazalım.

> mtcars%>%
+ select(hp)

Yukarıdaki komutu inceleyecek olursak öncelikle verimizi seçiyoruz sonrada %>% ile alt satıra geçiyoruz. Bu işaret sonra anlamına gelir ve bir önceki işlemden sonra yazılan işlemi gerçekleştirileceğini belirtir. Daha sonra select ile hangi sütunun getirileceğini belirtiyoruz tıpkı SQL de olduğu gibi. Burada sadece hp(horse power) sütununa ait veriler getiriliyor.

> mtcars%>%
+ select(hp) %>%
+ filter(hp > 100)

Buradaki diğer bir komut filter , bununla veri içerisinde filtre uyguluyoruz ve bize hp değeri 100 den büyük olan verileri getiriyor. SQL deki where komutu gibi.

> mtcars%>%
+ select(hp,am)%>%
+ filter(hp>=100)%>%
+ arrange(am,hp)

Diğer bir komutumuz arrange , bu komut sonuç olarak dönderilen veriyi sıralı halde getirir. SQL deki order by gibi.

> mtcars%>%
+ select(hp,am)%>%
+ filter(hp>=100)%>%
+ arrange(am,desc(hp))

Burada da hp nin büyükten küçüğe doğru sıralanmış hali bulunuyor.

> mtcars %>% 
+ mutate (test = hp * 2)

Diğer bir komutta mutate. Bunun ile veri üzerinde işlemler yapabilir ve bu işlemleri yeni bir sütun olarak veriye ekleyebiliriz.  Yukarıdaki komutu inceleyecek olursak test adında bir sütun oluşturuluyor ve içerisine hp değerinin iki katı ekleniyor. Burada veri üzerinde birçok fonksiyonu kullanarak işlem yaptırabiliriz.

> mtcars %>%
+ summarise(sum_hp = mean(hp), sum_am = mean(am))

summarise komutu istatistiksel özet oluşturur.

> mtcars %>%group_by(carb)%>%arrange(carb)

group_by ın ne işe yaradığını söylemiyorum , çok gizli!

Şimdilik bu kadar daha detaylı bilgi için aşağıdaki linki inceleyebilirsiniz;

http://genomicsclass.github.io/book/pages/dplyr_tutorial.html

0 yorum:

Yorum Gönder