10 Ekim 2014 Cuma

R ile Uygulamalı Veri Analizi-101(R ve RStudio giriş)

Merhabalar, hepimizin kurban bayramını kutlarım. Umarım güzel, dinlendirici bir bayram geçirmişsinizdir. Yazımı yazarken, R dilinin tarihçesinden başlamayı düşünüyordum fakat yazıyı uzatmamak için vikipedi linkini bu bağlantıda sizle paylaşıyorum. İlk öncelikle R'ın kendine ait arayüzünü kullanmayacağımızı söyleyerek başlayayım. Kabul etmek gerekirse özellikle yeni başlayanlar için tam bir kabusa dönüşebiliyor. Gerek veriyi çekmekte gerek ise script yazımı hantallığından dolayı ben tercih etmiyorum. Bir tümleşik geliştirme programı olan RStudio'yu kullanacağız. Daha önce bilgisayarlarınıza R ve RStudio'yu indirmediyseniz bu linke tıklayarak Youtube'dan videolu anlatımını izleyerek kolayca indirebilirsiniz.


Yüklediğinizi varsayarak devam ediyorum. RStudio'yu açtığınızda karşınızda aşağıda ki gibi bir ekranla karşılaşmanız gerekiyor.



Sol alttaki bölüm çoğunlukla kullanacağımız, komutları yazdığımız konsol bölümüdür. Sol üstteki bölüm ise kendi oluşturduğumuzu algoritmaların, scriptleri saklamak istediğimizde ve gerektiğinde hızlıca ulaşmak istediğimiz alandır(Sol üstteki bölüm gelmediyse File dosyasının altında Sayfa üzerindeki yeşil + butonuna basın ve R Script seçeneğini tıklayın). Sağ üstteki bölüm, verileri dosya şeklinde gördüğümüz ve sakladığımız bölümdür. Sağ altta ki bölüm ise çoğunlukla grafiklerin görsellerin oluştuğu alandır. Ayrıca yardım menüsünün olduğu sıklıkla başvuracağımız bir alandır. 

Önemli not olarak düşmem gerekir. R'ı yüklediğinizde, bir matlab ve benzeri programlar gibi içinde tüm paketleri yüklenip gelmez temel paketler dışında. İndirirken boyutunun sizde küçük olduğunu fark etmişsinizdir. Böylelikle depo alanınız boşuna işgal edilmemiş olur. 

Peki bu paket dediğimiz şey nedire gelirsek; R'ın yaratıcıları programı oluştururken hantal olmamasına çok özen göstermişler hemde aynı zamanda da çok yönlü profesyonel olmasını istemişler. Bu sebeple istatistiksel yöntemlerin paket olarak ayrılmasını hem kullanıcıya hemde paket yazarlarına artısını olacaklarını öngörmüşler. Gerçekten de öyle olmuş, hem açık kaynaklı sürekli büyüyen gelişen paketleri olması yanında, kullanıcının isteklerini karşılayan hepsi bir arada paketler oluşmuş. Zamanla göreceğiz, hem hesaplama açısından hemde görselleştirme açısından çok detaylı ve profesyonel paketler geliştirilmiş. Kullanıcıya direk sıkıntısı, kullandığı yöntemlerin ne olduğunu çoğu zaman bilmek kalıyor. 

Paket indirmek istediğimizde ise;

install.packages("MASS") komutunu kullanıyor olacağız yada R'da yukarıdaki sekmelerden tools>install packages tıklayarak ulaşabiliriz. Hemen not düşeyim script yazarken italik mavi rengi kullanıyor olacağım sizde rahatlıkla farkedebilirsiniz. Paketi indirdiken sonra ise kütüphaneden çağırmak gerekiyor. Bu işlem içinde library(MASS) komutunu yazıyoruz. Bu paket hakkında yardım almak içinde library(help="MASS") komutunu yazıyoruz. Şuan çok önemli değil, ilerde bu işlemi çok yapacağız.(Buradaki MASS gerçekten var olan bir paket ama sadece örnek olarak kullandım)

Temel bir kaç komuttan bahsetmek gerekirse, 

ls() çalışma alanında hangi nesnenin ve fonksiyonların saklı olduğunu bulmak için,
rm() bir nesneyi veya fonksiyonu silmek için
rm(list=ls()) çalışma alanında ki her şeyi silmek için kullanıyoruz.

Konsolu temizlemek için ise CTRL+L tuşlarına basarak yapabiliriz.

R'a yeni başlayanlar için en büyük sıkıntılardan biride veriyi bilgisayarınızdan R'a aktarmaktır. Çünkü direk olarak excel formatını desteklemez. Öncede verimizi csv yada text formatına çevirdikten sonra R'a aktarıyorduk şimdi onunda paketini geliştirmişler ama zaman zaman bazı paketler alt versiyonlarda çalışırken üst versiyonlarda çalışmıyor buda R'ın zaafı diyebiliriz. Bu nedenle data çekme yöntemlerin bir kaçından bahsedeceğim. Eğer bir sorunla karşılaşırsanız diğer yöntemlerden birini kullanabilirsiniz.

Excel dosyası olarak çekmek için,

install.packages("xlsx") # xlsx adlı paketimizi indiriyoruz(# işaretinden sonra komut okunmaz. #Böylelikle komutunuzun ne olduğunu açıklayan istediğinizi yazabilirsiniz)
library(xlsx) # indirdiğimizi paketi kütüphaneden çağırıyoruz
mydata = read.xlsx("c:/myexcel.xlsx", 1) # myexcel.xlsx adlı dosyamı çekmek için komutu kullanıyorum. Mutlaka tam yerini belirtmekte fayda var. Dosyanın yerini öğrenmek için dosyanın üstüne gelip sağ tıklayın ve özellikleri seçeneğini tıklayın. Konum yazan yerde dosyanın tam yeri yazar. Oradaki konumu kopyalayıp R'ın içindeki komutun için yapıştırın ve / eğik çizginin sağa yatık olduğuna emin olun aksi taktirde komutunuz çalışmayacaktır.

Text dosyası olarak çekmek için (en çok kullandığım yöntem),

Exceldeki verinizi alın masaüstünde oluşturduğunuz bir text dosyasının için yapıştırın ve kaydedip kapatın. Daha sonra R'a gelip sağ üstteki bölümde import datasets > from text file işlemini takip edin. Daha sonra dosyanızı seçip açın. Eğer verinizde değişken isimleri var ise Heading kısmında Yes'i tıklayın ve import edin. Verinizin gelip gelmediğini kontrol etmek için sağ üst köşeden kontrol edebilirsiniz.

CSV formatında çekmek için,

Excel dosyanızı farklı kaydet dedikten sonra, format type'tan virgülle ayrılmış csv'yi seçiyorsunuz ve kaydediyorsunuz. Daha sonra aşağıdaki komutları izliyorsunuz.

mydata <- read.table("c:/mydata.csv", header=TRUE, sep=",", row.names="id")

Verimizi çektik analizimizi yaptık sonrasında tekrar üzerinde çalışmak için projeyi saklamak istiyorsak, File > Save > dosya adını giriyoruz ve kaydetmiş oluyoruz. Dosyayı tekrar çağırmak istediğimizde File > Open File > dosyayımızı geri çağırıyoruz.

Bugünlük bu kadar diyelim. Bir sonraki yazımda görüşmek üzere

Sözün Özü

Rstudio gerçekten işimizi kolaylaştıran bir tümleşik geliştirme programı. Kullandıkça daha da pratik olduğunuz zamanla göreceğiz. Paket nedir, paket indirme ve temel komutları öğrendik. Yeni başlayanlar için kabus olan veri çekme yöntemlerini öğrendik. 

Proje

Excel'de 5 satırdan ve 2 sütundan rastgele sayılardan oluşan bir veri oluşturalım. Sutünlara da mutlaka isim verelim(anlamlı olması gerekmiyor A ve B diyebiliriz). Seçtiğiniz en az bir yöntemle verimizi çekmeye çalışalım.

Sorularınız için mail adresim: denizagirdan@gmail.com