R, istatistiksel hesaplama ve veri analizi için öncelikle kullanılan yüksek seviyeli bir programlama dili ve ücretsiz yazılım ortamıdır. İstatistikçiler, veri bilimcileri ve akademisyenler tarafından güçlü veri manipülasyonu, istatistiksel modelleme ve grafiksel yetenekleri nedeniyle tercih edilmektedir. R, işlevselliğini genişleten çok sayıda paket sunarak, veri madenciliği, biyoinformatik ve hatta makine öğrenimi gibi çeşitli görevler için uyumlu hale gelmektedir.
R, 1990'ların başında Ross Ihaka ve Robert Gentleman tarafından Yeni Zelanda'daki Auckland Üniversitesi'nde yaratılmıştır. S programlama diline dayanan açık kaynak bir dil olarak tasarlanmıştır; bu dil 1970'lerde Bell Laboratuvarları'nda geliştirilmiştir. R, kullanıcıların verileri kolayca manipüle etmelerini ve yüksek kaliteli grafik çıktıları üretmelerini sağlayan hem bir istatistik aracı hem de bir programlama dili olarak tasarlanmıştır.
Yıllar içinde R, büyüyen bir kullanıcı topluluğu ve CRAN (Kapsamlı R Arşiv Ağı) olarak bilinen önemli bir paket ekosistemi kazandı. Bu ağ, kullanıcıların R'nin yeteneklerini genişleten çeşitli kütüphaneleri indirmesine ve kurmasına olanak tanır. 2000'lerin başlarında R, akademik ve endüstriyel çevrelerde dikkat çekmeye başladı ve birçok alanda araştırma makalelerinde sıkça atıf yapılmaya başlandı.
2023 itibarıyla R, veri bilimi ve istatistiksel analizde baskın bir dil olmaya devam etmektedir. Düzenli güncellemeler, yeni paketler ve sürekli iyileştirmelere katkıda bulunan aktif bir topluluk ile evrim geçirmiştir. R, ayrıca diğer programlama dilleri ve çerçevelerle entegrasyonu ile tanınmakta, modern veri analitiğindeki rolünü daha da pekiştirmektedir.
R, birincil veri yapılarından biri olarak vektörleri sunar. Bir vektör, aynı türde birden fazla değeri tutabilir, bu da veri manipülasyonu için hayati önem taşır.
numbers <- c(1, 2, 3, 4, 5)
Veri çerçevesi, her sütunun farklı türlerde olabileceği bir tablo formatında veri depolamaya olanak tanıyan bir başka temel yapıdır.
data <- data.frame(Name=c("Alice", "Bob"), Age=c(25, 30))
R, kullanıcıların fonksiyonları kolayca tanımlayıp çağırmalarına olanak tanıyan birinci sınıf fonksiyonları destekler.
add <- function(x, y) {
return(x + y)
}
result <- add(5, 3)
if
, else
ve for
döngüleri gibi standart kontrol yapıları, R'nin söz diziminin ayrılmaz parçalarıdır.
for (i in 1:5) {
print(i)
}
R, tek bir fonksiyon çağrısıyla görselleştirmeler oluşturma imkanı sunan kapsamlı yerleşik grafik çizim yeteneklerine sahiptir.
plot(data$Age, main="Yaş Grafiği", xlab="İndeks", ylab="Yaş")
Kullanıcılar, install.packages()
fonksiyonunu kullanarak CRAN'dan ek paketler kurabilirler.
install.packages("ggplot2")
R, karışık türleri tutabilen listeleri ve değişken kapsamlarını tanımlayan ortamları destekler.
my_list <- list(name="Alice", age=25, height=5.5)
R'deki dizeler, birleştirme için paste()
gibi yerleşik fonksiyonlar kullanılarak manipüle edilebilir.
greeting <- paste("Merhaba", "Dünya")
R, veri yapıları üzerinde toplu işlem yapmaya olanak tanıyan vektörleştirilmiş işlemleri kullanır.
squared <- numbers^2
Faktörler, kategorik verileri işlemek için kullanılır ve R'nin analiz sırasında bunları uygun şekilde ele almasını sağlar.
categories <- factor(c("Yüksek", "Orta", "Düşük"))
Birçok IDE, R geliştiricileri arasında popülerdir:
R, R yorumlayıcısını kullanarak yorumlanan bir dil olarak işlev görür; bu, R kodunun anında yürütülmesine olanak tanır. R araçları paketi, kodunuzu paylaşmakla ilgileniyorsanız R paketleri oluşturmak için gerekli bileşenleri sağlar.
Tipik olarak, bir R projesi R/
dizininde betikler, data/
klasöründe veriler ve docs/
klasöründe belgeler ile yapılandırılmıştır. Kullanıcılar, projeyi Git gibi sürüm kontrol sistemleri kullanarak kontrol edebilirler.
R, çeşitli alanlarda kullanılmaktadır:
caret
ve randomForest
gibi paketler kullanarak tahmin modelleri oluşturma.ggplot2
gibi kütüphaneler kullanarak veri yorumlama için grafikler oluşturma.R, Python gibi diğer dillere kıyasla istatistiksel analiz ve görselleştirme için uzmanlaşmıştır. Python, daha geniş bir uygulama kapsamı sunar ancak Pandas ve NumPy gibi kütüphaneler aracılığıyla veri bilimi ile giderek daha fazla entegre olmaktadır. C++, genellikle daha hızlı yürütme sağlar ancak R'nin istatistiksel yeteneklerinden yoksundur.
Java, sağlam kurumsal çözümler sunarken, R hızlı analiz ve araştırmada öne çıkmaktadır. SAS veya MATLAB gibi diller de istatistiksel analiz için tasarlanmıştır ancak açık kaynak değildir; oysa R, topluluk katkılarıyla gelişmektedir.
R kodunu diğer dillere çevirmek için R'den C++'a geçiş için mevcut kaynak koddan kaynak koda çeviri araçları, performans açısından faydalı olabilir. Ayrıca, kullanıcılar R fonksiyonlarını ve veri çerçevelerini Python betiklerine entegre etmeye olanak tanıyan rpy2
gibi kütüphaneleri keşfedebilirler.
Ayrıca, reticulate
gibi araçlar, R'yi Python ortamlarına entegre etmeye yardımcı olabilir ve R'yi Python kütüphaneleriyle sorunsuz bir şekilde kullanma imkanı sunar.