R (programlama dili)

**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 R, hâlihazırda R Geliştirme Çekirdek Ekibi tarafından geliştirilmektedir.  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.

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
Bu örnekler dilin temel kurallarını ve komut satırının kullanımını göstermektedir.


```rout
> 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.966
> 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 *paketler*le 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 
* 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  menü and hesap tablosu tabanlı GUI.

## R'nin ticari sürümleri

R'nin destek ve hizmet imkânları içeren değişik ticari ve kurumsal sürümleri bulunmaktadır.
* REvolution Computing tarafından sunulan ve paralel işlem yeteneklerine sahip ParallelR.
* XL Solutions tarafından sunulan R+.
* RStat 
* R'ye benzeyen ve S'nin ticari bir sürümü olan .

## Ayrıca bakınız
* Pandas

## Notlar

## Kaynakça
* https://cran.r-project.org/ 

## Dış bağlantılar

* The R Project for Statistical Computing (tasarı ana sayfası)
* 
* RSeek  ve R site search  R ile ilgili içeriğe özel arama motorları.
* Muhtelif R mail listeleri  kullanıcılara soru sorma veya yanıtlama imkânı sunuyor.
* R Dergisi  hem kullanıcıların hem geliştiricilerin ilgisini çekebilecek kurulca incelenen ve istatistikî hesaplama ve geliştirme ile ilgili dergi. İstatistiki Yazılım Dergisi(The Journal of Statistical Software)  R kullanımıyla ilgili çok sayıda makale içermekte.
* R kitapları R ile ilgili birçok kitap başlığı (kısa yorumlarıyla) içermekte.
* The R Graphical Manual tüm R paketlerindeki grafik kütüphaneleriyle birlikte tüm R paketlerindeki tüm fonksiyonların bir listesini içermektedir.
* The R wiki R için bir topluluk vikisidir.
* R bloggers  - R bloglarından derlenmiş makaleler.
* Wessa.net R-Framework Statistics and Forecasting 
* Ekonometriye Yeni Başlayanlar için Kısa bir R Kılavuzu