Ozan Keysan bio photo

Ozan Keysan

ODTÜ

WWW

Google+

Twitter

LinkedIn

Github

R ile Yapabilecekleriniz

R programını güzel grafikler çizmek için kullanabilirsiniz. Ancak R’ı bir grafik çizme aracına indirmek büyük haksızlık olur.  R aslında bir data toplama ve işleme programı. Hemen hemen her iş için geliştirilmiş yüzlerce eklentisiyle eminim sizin de işinize yarayacak bir özelliği vardır. İlk başta R zor gelebilir. R’ı öğrenmekle geçireceğiniz sürede aynı grafikleri Excel’de yapabilir, günü kurtarabilirsiniz. Açıkcası R öğrenmek (ya da linux, latex vb öğrenmek) biraz aşağıdaki karikatürdeki gibi . İlk başta kaybettiğinizi düşündüğünüz zamanları uzun vadede kazanacağınızdan emin olabilirsiniz.

Bu arada grafiği Türkçe’ye çevirirken (orjinaline şu linkden ulaşabilirsiniz) geek için güzel bir karşılık bulamadım. Öneriniz varsa düzelteyim. Her neyse R’ın yapabileceklerinden bazıları:

Resim İşleme

Resim işleme için özelleşmiş programlar olsa da (mesela OpenCV), R’ın da elinden bir şeyler geliyor. EBImage ile basit resim işleme işlerini kolayca yapabilirsiniz.Mesela bir biyologsunuz ve bitkilerin yaprak alanlarını karşılaştırmak istiyorsunuz.  Şu sayfada EBImage ile yaprakların yüzey alanını hesaplayan koda ulaşabilirsiniz. Üstelik kod sadece 40 satır. Ya da isterseniz mikroskop görüntüsünden hücreleri de kolaylıkla sayabilirsiniz.  Kodlarına da bu linkden ulaşabilirsiniz.

Sosyal Medya Analizi

Malesef sosyal bilimciler, internet ve sosyal medya üstünden veri toplama işlerine yeterince girmiyorlar. Diyelim ki, twitter’dan atılan mesajların içeriğine, konumlarına bakarak bir çalışma yapmak istiyorsunuz. R ile Twitter API’sini kullanarak konu basliklarini, belirlediğiniz twitleri kimlerin attığını filan kolayca görselleştirebilirsiniz. Bunun için TwitteR paketini kullanabilirsiniz. Aşağıdaki linkler daha fazla bilgi verebilir.

Paketi kullanması oldukça basit. Mesela dün Avcılar’da yaşanan linç olayıyla ilgili (ana-akım medyadan duyduğunuzu sanmam. Bakınız Bianet, Indymedia) #translarirahatbirakin etiketini içeren son 1000 twiti listelemek ve bir metin dosyasına kaydetmek için gereken sadece 3 satır kod. Bu kodla oluşturduğum dosyaya şuradan ulaşabilirsiniz.

library("twitteR")
a\<-searchTwitter('\#translarirahatbirakin', n=1000)
capture.output(a[ ], file="trans.txt")

Ulaşabileceğiniz kaynaklar sadece twitter ile sınırlı değil. Diğer excel tablolarını, SPSS datalarını, websitelerin içeriklerini ve MYSQL gibi veritabanları da R ile kolayca okuyabilirsiniz.

Eğer aklınıza yatan bir çalışma varsa yardım etmeye çalışırım.

İnteraktif Arayüzler Oluşturun

Rook eklentisi ile web tabanlı arayüzler oluşturabilir, Bu eklentileri GoogleVis ile eşleştirebilirsiniz. Kendi verinizi sağlayabileceğiniz gibi Google Public Data sayfasından ya da Dünya Bankası veritabanı gibi yerlerden ulaşabilirsiniz. Aşağıdaki örnekler neler yapabileceğiniz hakkında bir fikir verir umarım.

Grafikleri Doğrudan LaTeX’e ya da Web Sitenize Ekleyin

R kullanmaya başladığım zaman en tav olduğum özellik grafiklerin doğrudan LaTeX içine eklenebilmesi oldu. Eklemekten kastım, .png ya da .pdf olarak kaydedip eklemek değil. Tikz dosyası olarak kaydedip eklemek de değil (ki bu özellik kendi başına bile çok faydalı). Beni asıl etkileyen, knitr paketiyle R grafiği kodlarının doğrudan Latex dokümanına eklenebilmesi.

Mesela  değişik verilerle tekrar hazırlamak zorunda olduğunuz bir raporunuz var. Word ve Excel kullanarak hazırladığını düşünürsek. Her yeni veriyi Excel’e yüklemeniz, grafikleri yeniden çizdirip, Word’deki grafikleri, tabloları ve metini güncellemeniz gerekecek. Aynı işi Knitr ile yaptığınız zaman yeni verilerinizi güncellediğiniz anda tüm grafikleriniz ve metniniz güncellenip raporunuz anında hazır hale gelecektir. Üstelik sadece pdf olarak değil isterseniz .html dosyası olarak da kaydedebilirsiniz. Rstudio kullanıyorsanız, Rpubs sitesinde raporunuzu doğrudan yayınlayabilirsiniz. İlk başta kullanmak biraz zor gelecektir, ama öğrendikten sonra birçok angarya işi ne kadar kolay yapabildiğine şaşıracaksınız (bakınız sayfanın başındaki karikatür). Verilerle uğraşan akademisyenlere ve yüksek lisans/doktora öğrencilerine ne kadar önersem azdır. R ve Knitr’la neler yapılabileceğine birkaç örnek:

Büyük Datalar ve Paralel Hesaplama İşleri

Benim henüz işim düşmedi ama eğer verileriniz veya analizleriniz tek bilgisayarın başa çıkabileceğinden büyükse R’ın paralel hesaplama paketlerini kullanarak analizinizi birçok bilgisayarda aynı anda çalıştırabilirsiniz. Hatta doğrudan Amazon’un bulut hizmetinden yararlanabilirsiniz. Üniversitenizin bir paralel hesaplama hizmeti varsa ne ala ama yoksa sıfırdan bir cluster oluşturmak yerine böyle hizmetlerden yararlanmak hem daha ucuz hemde daha zahmetsiz diye düşünüyorum. Gene aşağıdaki bağlantılara göz atabilirsiniz.

Eğer R kullanmaya başlayıp da takıldığınız yerler olursa sormaktan çekinmeyin.



comments powered by Disqus