R, istatistiksel hesaplama ve grafikler için yazılım ortamı olup aynı zamanda programlama dilidir. R Foundation tarafından desteklenen ve GNU Tasarısının parçası olan bir özgür yazılımdır. Yeni Zelanda Auckland Üniversitesinden Ross Ihaka ve Robert Gentleman tarafından ortaya çıkarılan[2] R, hâlihazırda R Geliştirme Çekirdek Ekibi tarafından geliştirilmektedir. S programlama diline benzeyen R, S'nin uyarlaması olarak değerlendirilebilir.
İstatistikî yazılım geliştirme için istatistikçiler arasında de fakto standart haline gelen R, istatistikî yazılım geliştirme ve veri analizi alanında kullanılmaktadır.[3]
R'nin kaynak kodları GNU Genel Kamu Lisansı altında olup değişik işletim sistemlerinde kullanılabilir durumdadır. R, komut satırı arayüzü kullanıyor olsa da değişik grafik kullanıcı arayüzleri de bulunmaktadır.
Özellikleri
R, çok geniş istatistiki (doğrusal ve doğrusal olmayan modelleme, klasik istatistik testleri, zaman serileri analizi, sınıflandırma, kümeleme ve diğer) ve grafik çizim teknikleri sunmaktadır. R de, S gibi tam anlamıyla programlama dili olarak tasarlanmış olup kullanıcıya yeni fonksiyonlar tanımlayarak ek özellikler geliştirme imkânı sunmaktadır. Bazı önemli farklılıklar olmasına rağmen S için yazılan kodlar aynen R'de de çalışır. R sisteminin büyük çoğunluğu aynı dille yazıldığından kullanıcının yapılan algoritmik seçimleri takip etmesi kolaylaşmaktadır. Yoğun hesaplamalar gerektiren görevler için C,C++ ve Fortran kodu çalışma zamanında bağlanıp çalıştırılabilmektedir. İleri düzey kullanıcılar R nesnelerinin manipülasyonu için C kodu yazabilirler.
R, kullanıcıların eklediği özel fonksiyonlar veya çok özel araştırma alanlarına ait paketlerle oldukça geliştirilebilirdir. S dilinin mirasından dolayı R, diğer birçok istatistiki hesaplama dilinden daha kuvvetli bir nesneye yönelik programlama kabiliyetine sahiptir.
R'nin bir diğer güçlü yönü matematiksel sembolleri de içeren yayın kalitesinde grafikler çizebilen grafik imkânlarıdır. R'nin ister çevrimiçi ister baskı amaçlı kullanılabilen çok geniş içerikli LaTeX benzeri belgelendirme imkânı vardır.
Örnekler
> x <- c(1,2,3,4,5,6) # x sıralı 6'lısı oluştur
> y <- x^2 # y x'in elemanlarının karelerinden oluşsun
> mean(y) # y'nin aritmerik ortalaması
[1] 15.16667
> var(y) # Örnek varyansını hesapla
[1] 178.9667
> summary(lm(y ~ x)) # y'nin x'e bağımlı doğrusal regresyon modeli
Call:
lm(formula = y ~ x)
Residuals:
1 2 3 4 5 6
3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -9.3333 2.8441 -3.282 0.030453 *
x 7.0000 0.7303 9.585 0.000662 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.055 on 4 degrees of freedom
Multiple R-squared: 0.9583, Adjusted R-squared: 0.9478
F-statistic: 91.88 on 1 and 4 DF, p-value: 0.000662
> par(mfrow=c(2, 2)) # 2x2 lik çizim alanı oluştur
> plot(lm(y ~ x)) # Regresyon modelinin tanısal grafikleri
Paketler
R'nin yetenekleri kullanıcılarca eklenen paketlerle geliştirilmektedir. Bu paketler belli uzmanlık alanlarıyla ilgili teknikler, gelişmiş grafik özellikleri, birçok harici dosya biçimini okuma/yazma yeteneği (SPSS, Matlab, Excel, MySQL bağlantıları vb.) gibi birçok özelliği R'ye kazandırmaktadır. R'nin standart kurulumunda temel paketler bulunuyor olsa da 2000['den çok paket CRAN'den (Geniş Kapsamlı R Yazılım Ağı) erişilebilirdir.
Grafik kullanıcı arayüzleri
RStudio - Kullanımı oldukça kolay ve gelişmiş bir arayüz. RStudio 10 Temmuz 2012 tarihinde Wayback Machine sitesinde arşivlendi.
gretl - R gretl paket programının içerisinden kullanılabilir
Java Gui for R – Java diliyle yazılmış müstakil olarak çalışabilen R uçbirimi ve düzenleyicisi (JGR adıyla da anılıyor)
Rattle GUI - RGtk2 tabanlı ve özellikle veri madenciliği amaçlı hazırlanmış GUI
R Commander – tcltk tabanlı GUI
rggobi, Matris görselleştirme için GGobi arayüzü
RKWard – KDE kütüphanesi tabanlı
Sage – web tarayıcı arayüzü aynı zamanda rpy desteği
Statistical Lab
Deducer 7 Şubat 2010 tarihinde Wayback Machine sitesinde arşivlendi. menü and hesap tablosu tabanlı GUI.