R Nedir, Python Varken Neden R? (R Dersi 1)

Blogda Python serisi devam ederken bugün yanına yeni bir seri ekliyoruz: R dersleri. Her salı ve perşembe bir R dersi yayımlanacak; Python dersleri de her zamanki gibi sürecek.

İlk soru belli: Python bu kadar yaygınken neden bir dil daha? Bu derste R’ın ne olduğunu, nerede kullanıldığını ve Python’dan nerede ayrıldığını anlatacağım. Bir de ilk R kodlarını yazacağız, böylece farkı kendi gözünle göreceksin.

R nedir?

R, istatistiksel hesaplama ve veri analizi için geliştirilmiş, ücretsiz ve açık kaynaklı bir programlama dili. 1990’larda Yeni Zelanda’daki Auckland Üniversitesi’nde iki istatistikçi, Ross Ihaka ve Robert Gentleman tarafından başlatıldı. Adı da kısmen iki yaratıcısının isimlerinin baş harfinden geliyor.

Bu köken R’ı anlamanın anahtarı. Python her işe yarayan genel amaçlı bir dil olarak doğdu; veri analizi sonradan eklenen kütüphanelerle geldi. R ise doğrudan istatistikçiler için, istatistikçiler tarafından tasarlandı. Ortalama, regresyon, hipotez testi gibi işler dilin içine gömülü.

R’ın gücünün büyük kısmı CRAN (Comprehensive R Archive Network) adı verilen paket deposundan geliyor. Dünyanın dört bir yanındaki araştırmacıların yazdığı çok sayıda paket burada; yeni bir istatistik yöntemi çoğu zaman ilk R paketi olarak yayımlanıyor.

R nerelerde kullanılıyor?

  • Akademik araştırma: Tez ve makalelerdeki istatistiksel analizler.
  • Sağlık ve ilaç: Biyoistatistik, klinik araştırmalar, epidemiyoloji.
  • Finans ve risk: Zaman serileri, risk modelleri.
  • Anket ve sosyal bilimler: Anket verisinin analizi ve raporlanması.
  • Veri görselleştirme: ggplot2 paketi, veri görselleştirmenin en bilinen araçlarından biri.
  • Raporlama: Kod, grafik ve yazıyı tek bir belgede birleştiren R Markdown ve Quarto.

İlk R kodların

Python derslerinden tanıdığın not örneğiyle başlayalım:

notlar <- c(70, 85, 40, 90, 45)
mean(notlar) # 66
notlar + 5 # 75 90 45 95 50
notlar[notlar >= 50] # 70 85 90

İlk satırda iki yeni şey var:

  • <- R’da atama işareti, Python’daki = gibi. = de çalışıyor ama R topluluğunda gelenek <-.
  • c() birden fazla değeri bir araya getirip bir vektör oluşturuyor. Vektör R’ın temel veri yapısı; R Dersi 4’te ayrıntılı bakacağız.

Asıl ilginç olan ikinci ve üçüncü satırlar. notlar + 5 bütün notlara tek seferde 5 ekliyor. Python’da aynı iş için bir döngü ya da liste üreteci yazman gerekirdi:

# Python'da
notlar = [70, 85, 40, 90, 45]
print([n + 5 for n in notlar])
print([n for n in notlar if n >= 50])

R’da işlemler varsayılan olarak vektörün bütün elemanlarına uygulanıyor. Buna vektörizasyon deniyor ve R’da kod yazmanın doğal yolu bu.

Dikkat: R saymaya 1’den başlar

notlar[1] # 70, yani ilk eleman

Python’da ilk eleman notlar[0] idi. R’da ise notlar[1]. Python’dan gelenlerin ilk haftalarda en çok takıldığı yer burası; notlar[0] yazarsan R hata vermez, boş bir sonuç döndürür.

Tek satırda özet

summary(notlar)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
     40      45      70      66      85      90

En küçük, en büyük, ortalama, medyan ve çeyrekler tek komutla. Bu, R’ın istatistik için tasarlandığının küçük ama güzel bir örneği.

Tablolarla çalışmak: data.frame

R’da tablo verisi için hazır bir yapı var: data.frame. Python’da bunun için pandas kütüphanesini yüklemen gerekiyor; R’da dilin içinde geliyor.

ogrenciler <- data.frame(
ad = c("Ayşe", "Mert", "Zeynep", "Can", "Elif"),
bolum = c("Bilgisayar", "Elektrik", "Bilgisayar", "Elektrik", "Bilgisayar"),
notu = notlar
)
ogrenciler[ogrenciler$notu >= 50, ] # geçen öğrenciler
aggregate(notu ~ bolum, data = ogrenciler, FUN = mean)
       bolum     notu
1 Bilgisayar 51.66667
2   Elektrik 87.50000

$ işareti tablodan bir sütun seçiyor: ogrenciler$notu. Son satırdaki notu ~ bolum ifadesi R’ın formül yazımı; “notu bölüme göre” diye okunuyor. Bu yazımı birazdan bir kez daha göreceğiz.

R’ın asıl parladığı yer: istatistiksel modeller

R, içinde hazır veri setleriyle geliyor. Bunlardan biri mtcars: 32 arabanın ağırlık, motor gücü ve yakıt tüketimi gibi bilgileri. “Araba ağırlaştıkça yakıt verimi nasıl değişiyor?” sorusunu tek satırla cevaplayabiliriz:

model <- lm(mpg ~ wt, data = mtcars)
coef(model)
(Intercept) wt
37.29 -5.34

lm doğrusal regresyon (linear model) kuruyor. Sonuç şunu söylüyor: Bu veri setinde arabaların ağırlığı her 1000 pound arttığında yakıt verimi galon başına ortalama 5,34 mil düşüyor. summary(model) yazarsan da modelin istatistiksel olarak anlamlı olup olmadığını gösteren tam bir rapor alıyorsun.

Python’da aynı işi yapabilirsin, ama önce birkaç kütüphane yüklemen ve veriyi hazırlaman gerekiyor. R’da regresyon, t-testi, varyans analizi gibi yöntemlerin hepsi dilin bir parçası.

Python ile R yan yana

PythonR
DoğuşuGenel amaçlı programlama diliİstatistik ve veri analizi dili
Güçlü olduğu yerYazılım geliştirme, otomasyon, makine öğrenimi, yapay zekaİstatistiksel modeller, akademik analiz, görselleştirme, raporlama
Tablo verisipandas kütüphanesiyledata.frame dilin içinde
İlk elemanliste[0]vektor[1]
Atama=<-
Tipik kullanıcıYazılımcı, veri bilimci, ML mühendisiİstatistikçi, araştırmacı, veri analisti

Peki hangisini öğrenmeli?

Bu bir “ya o ya bu” sorusu değil. İki dil çoğu zaman aynı ekipte, hatta aynı projede birlikte kullanılıyor.

  • Yazılım geliştirme, otomasyon ya da yapay zeka hedefliyorsan Python’la devam et; R’ı sonra ekleyebilirsin.
  • İstatistik, akademi, sağlık araştırmaları ya da anket analizi gibi alanlara yöneliyorsan R seni çok hızlandırır.
  • Veri analisti olmak istiyorsan ikisini de tanımak CV’nde fark yaratır. Hedeflediğin ilanları oku, hangi dilin istendiğine bak.

Bir dili iyi öğrendikten sonra ikincisi çok daha kolay geliyor. Değişken, döngü, fonksiyon, tablo gibi kavramlar aynı; değişen sadece yazım. Bu yüzden R serisini Python serisiyle paralel götürüyoruz: Python’da öğrendiğin bir kavramın R’daki karşılığını görmek ikisini de pekiştirecek.

R’ı nerede çalıştıracağım?

Üç yol var, ikisi kurulum gerektirmiyor:

  • Google Colab: Python dersleri için kullandığımız Colab’da R da çalışıyor. Yeni bir not defteri aç, çalışma zamanı türünü R olarak değiştir.
  • Posit Cloud: RStudio’nun tarayıcıda çalışan sürümü. Ücretsiz bir hesapla başlayabilirsin.
  • R ve RStudio kurulumu: Kendi bilgisayarında çalışmak için. R Dersi 2’de adım adım anlatıyorum.

Bu dersteki kodları şimdiden Colab’da deneyebilirsin.

Bu derste ne öğrendik?

  • R, istatistikçiler tarafından istatistik için tasarlanmış, ücretsiz ve açık kaynaklı bir dil.
  • R’da atama <- ile yapılır, vektörler c() ile kurulur ve saymaya 1’den başlanır.
  • İşlemler bütün vektöre birden uygulanır: vektörizasyon.
  • Tablo verisi için data.frame, istatistiksel modeller için lm gibi fonksiyonlar dilin içinde.
  • Python ile R rakip değil; hedefine göre biri ya da ikisi.

Sıradaki ders

R Dersi 2’de R ve RStudio’yu kendi bilgisayarına kuruyoruz.

Devamını oku


Hatice Özbolat | Teknoloji ve AI Rehberi sitesinden daha fazla şey keşfedin

Son gönderilerin e-postanıza gönderilmesi için abone olun.

Comments

Bir yanıt yazın