R kaynağı açık olan istatistiksel bir veriye dayanan hesaplama ve grafikler konuları dahilinde özelleştirilmesi yapılmış bir programlama dili olarak ifade edilebilir. R Foundation vasıtasıyla desteği yapılan ve GNU tasarısının bir bölümü olan R, S dilinin bir adapte olması olarak da düşünülebilir. Önemli bazı farklılıklara karşı olarak S için yazılmış olan kodlar R’de de çalışıyor. S dili günümüz şartlarında varlığını S+ (S-PLUS, Commercial Product) ve R (GNU Free Software) olmak kaydıyla devam ettiriyor. Veri analizi dünyasında doğrusal olmayan ve doğrusal modelleme, zaman serileri analizi, klasik istatistik testleri, sınıflara ayırma, istifleme vb.) sıklıkla kullanımı yapılan dillerden biri olarak R birçok dilde üretimi yapılan daha hacimli bir doküman desteğini elinde bulunduruyor.
Derinlemesine R programlama
Bu bilgilere ek ilaveten hemen hemen ihtiyaç doğabilecek bütün konularda bir uygulama paketine sahip olmak veya basit bir şekilde herhangi bir kullanıcı vasıtasıyla ihtiyaca en uygun olmak kaydıyla paket gelişimi de R programlama dilinin öne çıkmasına yardım eden konulardan biri olarak ifade edilebilir. Eklemek gerekiyor ki Microsoft, Oracle, SAP yardımcılarının da unutulmayıp bahsinin burada geçmesi mühim bir durum. 1991 senesinde S uyarlaması adıyla bilinen Robert Gentleman ve Ross Ihaka vasıtasıyla Yeni Zelanda ülkesinde gelişimi yapılan R dili, son haliyle beraber 2 milyonu aşan bir kullanıcı kitlesini elinde bulunduruyor ve beklenmedik bir hızla büyümesini sürdürüyor. Artış gösteren R dili tarihler 2016 senesinin mayıs ayını göstermesiyle birlikte tanınan programlama diller arasına girmeyi başardı ve 16.sırada yer alıyor. R ve Go dillerinin asıl kullanılma nedeni de ihtiyaçları en pratik bir yolla cevaplıyor olması.
Gereken durumlar dahilinde kod yazmaksızın Weka, Alteryx Designer Tableau, Knime, RapidMiner, benzeri uygulamaların da desteğiyle da işlemler gerçekleştirilebilir. Bu sebepten ötürü de ana hatlarıyla R programlama dilinin yetkinlikleri hakkında bir bilgelikten söz etmemiz mümkün asıl amaç ise A dili çok iyi B dili çok iyi değil ama idare eder tarzı modern fanatizmi bir kenara koyarak vakit kaybetmeden gereken işlemin olması gerektiği gibi gerçekleştirilebilmesi amacıyla kullanılması uygun araçların da kullanımına olanak sağlamak. Bu araçların da kullanımıyla beraber bir uyum yakalamak son derece mümkün bir durum. Çünkü günümüzde fanatizm uğruna birçok yanlış iş yapılıyor ve bu durum vakit kaybını en üst seviyede tutuyor.
R programlama dilinin adımları
R programlama dili vasıtasıyla verilerin analizinin yapılması, sonuçları programlama, bu sonuçları iletme, dönüştürme, modelleme ve keşfetme benzeri birden çok adımla yapılıyor. İlk olarak bir program yapılıyor. R dili açık ve ulaşılabilir bir programlama aracı olarak da ifade edilebilir bu aşamada. Dönüşüm adı altında R dilinin özel olarak veri bilimi odaklı tasarlanmış kütüphaneler bütünlüğünden de oluştuğunun belirtilmesi gerekiyor. Verileri araştırıp hipotezini geliştirerek analizine de keşfet vasıtasıyla ulaşılabilir. R programlama dili eldeki veriler için en iyi şekli yakalamaya çalışıyor ve bunun için modele ihtiyaç duyuyor. Son olarak da bahsedilmesi önemli olan konu iletişim. İletişim, grafikleri, kodları ve çıktıları R Markdown’u da içine alarak bir rapora monte ederek dünyaya duyurmak amacıyla Shiny uygulamaları oluşturuyor.
R dili neden kullanılmalı
Veri bilimi, firmaların yürüttükleri işlerini ve yürütme biçimini düzenliyorlar. Şüphesiz sentetik zekâ ve makineden uzak kalarak, şirketin başarılı olmamasına sebep veriyor. Bu noktadan itibaren de kocaman bir soru ortaya çıkıyor ve programlama için hangi dilin kullanılması gerektiği. Veri analizi yapabilmek amacıyla piyasa hudutları içerisinde yer alan birçok aracı da bünyesinde barındırıyor. Yepyeni bir dil öğrenebilmek biraz vakit yatırımını gerekli kılıyor. Bir dilin ortaya çıkarmış olduğu iş yeteneğine karşılaştırarak öğrenme eğrisini gösteriyor. Bir grafik hayal edilsin olumsuz gösterge düşünülsün orada da tam o noktada bir ücretsiz öğle yemeği olmadığı anlamına geliyor diyebiliriz. Eldeki verilerden en iyi sonuçlar alınmak isteniyorsa zamanın R olduğu cazip aracı öğrenmek amacıyla biraz vakit harcanması gerekli olabilir.
Örneğin Excel ve PowerBI'yi öğrenmesi kolay olarak ifade edebiliriz fakat direkt olarak modelleme yönünden olağandışı bir iş kabiliyeti sunmuyor. Bu hayal edilen grafiğin ortasında da Python ve SAS düşünülsün. SAS, işletmeler ve kurumlar için istatistiksel analiz yapabilmek için parçalanmış bir araç olsa da ücretli yönüyle bir dezavantajı da bünyesinde bulunduruyor. SAS bir çalıştırma ile tıklama yazılımı olarak ifade edilebilir ama Python, monoton algılama eğrisi olan bir dil olarak ifade ediliyor. Python, Al ve Machine Learning’i dağıtmak amacıyla da mükemmel bir araç olarak bulunuyor fakat iletişim olanaklarından yoksun olduğundan da bahsetmemiz lazım. Buna benzeyen bir öğrenme eğrisi yardımıyla R programlama dili uygulama ve veri analizi ilişkisi ışığından iyi bir denge mekanizması görevinde.
Verilerin somut hale getirilmesine konusunda da Tableau öne çıkıyor. Tableau şüphesiz ki çizelgeleri ile grafikler vasıtasıyla muhtemel kalıpları ortaya çıkarmak için müthiş bir araç. İlaveten, Tableau'yu öğrenmek de çok vakit istemiyor. Veri görselleştirmesi ile alakalı büyük bir sıkıntı hiçbir vakit bir model bulunamayacağı ya da birçok işe yaramaz grafikler oluşturabileceği manasına gelebilir. Tableau, eldeki verilerin ya da iş zekasının etkin ve hızlı bir yöntemle resimleştirilmesi için kullanılması yararlı olan bir araç olma özelliğini bünyesinde bulunduruyor. İstatistik ve karar alma aracı bahsi geçtiği zaman da R programlama dili çok daha uygun.
Diğer programlama dilleri
Birincisi olarak Java söylenebilir. Günümüz şartlarında mobil dünyada yer alan devlerden biri konumunda bulunan Java, yaygınlığı çok olan bir kullanım alanını elinde bulunduruyor ve senelerce ününü en üst düzeylerde tutmuş bir programlama dili olarak ortaya çıkıyor. Mac, Windows ve Linux bölgelerinde rahat bir şekilde kodlanabilen Java’nın şu anki dünyada tanınan en iyi projelerinden biri olarak Minecraft adlı oyun örnek olarak verilebilir. İkinci olarak Python örnek verilebilir. Son seneler baz alındığında popülaritesi oldukça önemli bir konuma sahip olan Python, basit bir yolla öğrenilmesi mümkün olan bir dil olması sebebiyle uygulama alanının geniş olması ile de birlikte tercih edilen bir programlama dili olarak üst sıralardaki yere yükseldi ve buradaki yerini koruyor.Hemen hemen bütün Linux geliştiricilerinin de kullandığı bir olan Python bu alana yeni giren katılımcılar için de ideal ve hayal gücünü dayanabileceği bir konuma sahip. Javascript, C++, C#, PHP kullanılması muhtemel diğer programlama dilleri olarak örnek verilebilir.