6 Aralık 2016 Salı

R Programlama Dili Nedir?

R (Programlama Dili)

R istatistiksel hesaplama ve grafikleri için bilgisayar programı olup aynı zamanda programlama dilidir. Yeni Zelanda Auckland Üniversitesinden Ross Ihaka ve Robert Gentleman tarafından ortaya çıkarılan R hali hazırda R Geliştirme Çekirdek Ekibi tarafından geliştirilmekte. S programlama dilinin açık kaynak kodlu versiyonu olan R bundan dolayı bazen GNU S olarak da anılmaktadır.
İstatistiki yazılım geliştirme için istatistikçiler arasında de fakto standart haline gelen R istatistiki yazılım geliştirme ve veri analizi alanında kullanılmaktadır.
GNU projesinin bir parçası olan R nin kaynak kodları GNU Genel Kamu Lisansı altında olup değişik işletim sistemleri için sürümleri mevcuttur. R komut satırı arayüzü kullanıyor olsa da değişik grafik kullanıcı arayüzleride bulunmaktadır.

R Programlama Dili Ö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 ilave ö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 seviye kullanıcılar R nesnelerinin manupilasyonu 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 online ister baskı amaçlı kullanılabilen çok geniş içerikli LaTeX benzeri dökümantasyon imkânı vardır.

Popüler veri madenciliği yazılım Weka nın, veri madenciliği yeteneklerinin Weka, istatistiksel analizlerin R ile yapılmasını sağlayan arayüzü bulunmaktadır.


R Programlama Dili 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 fazla paket CRAN (Geniş Kapsamlı R Yazılım Ağı) dan erişilebilirdir.


R Arayüz Kurulum

1-) https://www.r-project.org/ sitesine girilir.

2-) ' download R ' kısmına tıklanır.











3-) Gelen ülke sunucularından R Setup indirilip arayüz kurulumu gerçekleştirilir.











4-) R Arayüz.

Artık Yıl

R'da örnek uygulama olarak artık yıl hesaplamasına bakacağız. Öncelikle artık yıl hakkında bilgi verelim.
Artık yıl, Miladî takvimde (Gregoryen takvim) 365 yerine 366 günü olan yıl. Bu fazladan gün (artık gün), normalde 28 gün olan şubat ayına 29 Şubat'ın eklenmesi ile elde edilir. Dört yılda bir yapılan bu uygulamanın nedeni Dünya'nın Güneş çevresinde dönme süresinin (astronomik yıl), Güneş'in aynı meridyenden iki kez geçişi arasındaki ortalama zamanın (gün) tam katı olmamasıdır. Bir astronomik yıl yaklaşık olarak 365, 242 gün olmasına rağmen normal bir takvim yılı 365 gündür.
Artık yıl uygulaması ilk olarak MS 46 yılında, Jülyen Takvimi'nde uygulanmıştır.

Artık Yılların Belirlenmesi


Genel bir kural olarak, artık yıllar 4 rakamının katı olan yıllardır:
  • 1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020, 2024 gibi.
Ancak bu kuralın iki istisnası vardır:
1. 100'ün katı olan yıllardan sadece 400'e kalansız olarak bölünebilenler artık yıldır:
  • Örneğin 1200, 1600, 2000 yılları artık yıldır ancak 1700, 1800 ve 1900 artık yıl değildir.
Sadece 400'e tam olarak bölünebilenlerin artık yıl kabul edilmesinin nedeni, bir astronomik yılın 365,25 gün değil, yaklaşık olarak 365,242 gün olmasından kaynaklanan hatayı gidermektir.
2. Hesabı daha da hassas hâle getirmek için -400'e kalansız bölünebildiği halde- 4000'e kalansız olarak bölünebilen yıllar artık yıl kabul edilmez:
  • Örneğin 4000, 8000, 12000, 16000, 24000, 32000 ve 48000 yılları 400'e tam bölünebildiği halde artık yıl kabul edilmeyecektir.

Uygulama


year = as.integer(readline(prompt="Yıl giriniz: "))  # Sorgulanacak yıl girilir.
if((year %% 4) == 0) { # Yıl 4'e bölünebiliyor mu?
    if((year %% 100) == 0) { # Yıl 100'e bölünebiliyor mu?
        if((year %% 400) == 0) { # Yıl 400'e bölünebiliyor mu?
            print(paste(year,"artık yıldır."))
        } else {
            print(paste(year,"artık yıl değildir."))
        }
    } else {
        print(paste(year,"artık yıldır."))
    }
} else {
    print(paste(year,"artık yıl değildir."))
}

- '#' işareti açıklama kısmı için kullanılır. Bu işaretten sonrası çalıştırılmaz.
- If komutu; 'eğer' anlamına gelmektedir. Kodun içindeki istek doğruysa uygulanır.
- Else komutu; eğer komutundaki isteğin uymaması durumunda çalıştırılır. 'değilse' anlamına gelir.
- Print komutu ile ekranda gösterilecek ifade yazdılır.
- '%%' işareti ile değerin bölme işlemi gerçekleştirilir.
- '==' işareti 'eşitse' anlamına gelir.

Ekran görüntüsü;


Kaynakça