# Örnek bir sayısal vektör oluşturalım.
x <- c(10, 20, 30, 40, 50)
# mean() fonksiyonu vektörün ortalamasını hesaplar.
mean(x)[1] 30
R programlama dili, istatistiksel hesaplama, veri analizi ve veri görselleştirme amacıyla geliştirilmiş açık kaynaklı bir programlama dilidir. Günümüzde yalnızca akademik çalışmalarda değil; resmi istatistik kurumlarında, özel sektörde, finans alanında, sağlık araştırmalarında, makine öğrenmesi uygulamalarında ve veri bilimi projelerinde de yaygın olarak kullanılmaktadır.
R’nin güçlü olmasının nedeni yalnızca bir programlama dili olması değildir. R aynı zamanda geniş bir bilimsel ekosisteme, güçlü bir paket kültürüne ve veri analizi odaklı bir çalışma biçimine sahiptir. Bu nedenle R, çoğu zaman yalnızca bir yazılım olarak değil; veri analizi, modelleme, görselleştirme, raporlama ve otomasyon süreçlerini bir araya getiren bütünlüklü bir çalışma ortamı olarak değerlendirilir.
Bu bölümde R’nin ne olduğu, nasıl ortaya çıktığı, neden veri analizi dünyasında bu kadar yaygın kullanıldığı, RStudio ile ilişkisinin ne olduğu ve başlangıç için nasıl kurulacağı ele alınacaktır. Amaç, R’ye yalnızca teknik bir araç olarak değil, veriyle düşünmeyi kolaylaştıran bir programlama dili olarak bakabilmektir.
R, veri analizi ve istatistiksel hesaplama amacıyla geliştirilmiş bir programlama dilidir. Özellikle istatistiksel yöntemlerin uygulanması, veri setlerinin işlenmesi, grafiklerin oluşturulması ve analiz sonuçlarının raporlanması gibi görevlerde güçlüdür.
R’nin kökeni, Bell Laboratories bünyesinde geliştirilen S programlama diline dayanır. S dili, istatistiksel hesaplama için geliştirilmiş önemli bir dildi. R ise bu geleneği açık kaynak dünyasına taşıyan, Ross Ihaka ve Robert Gentleman tarafından geliştirilen bir programlama dili olarak ortaya çıkmıştır.
R isminin kökeni genellikle iki şekilde açıklanır. Birincisi, geliştiriciler Ross Ihaka ve Robert Gentleman’ın isimlerinin baş harflerine gönderme yapmasıdır. İkincisi ise R’nin, S dilinin devamı niteliğinde görülmesidir. Bu isimlendirme bile R’nin istatistiksel programlama geleneği içindeki yerini gösterir.
R’nin en önemli özelliklerinden biri, istatistiksel düşünceye yakın bir dil olmasıdır. Birçok genel amaçlı programlama dili önce yazılım geliştirme ihtiyaçları düşünülerek tasarlanmışken, R’nin merkezinde veri, istatistiksel hesaplama ve grafik üretimi yer alır. Bu nedenle R ile çalışırken tekil değerlerden çok vektörler, veri çerçeveleri, modeller ve grafikler üzerinden düşünürüz.
R’nin güçlü yönlerinden biri, akademik dünya ve istatistik topluluğu ile yakın ilişkili biçimde gelişmiş olmasıdır. Yeni istatistiksel yöntemlerin önemli bir kısmı kısa sürede R paketleri olarak kullanıma sunulabilmektedir.
R açık kaynaklı bir yazılımdır. Açık kaynak, yazılımın kaynak kodunun herkes tarafından incelenebilmesi, kullanılabilmesi, geliştirilebilmesi ve paylaşılabilmesi anlamına gelir. Bu yaklaşım yalnızca teknik bir lisans meselesi değildir; aynı zamanda bilimsel iş birliği ve paylaşım kültürünün de önemli bir parçasıdır.
Açık kaynak yapının R’ye sağladığı en önemli avantajlardan biri, topluluk katkısıdır. Dünyanın farklı yerlerinden araştırmacılar, veri bilimciler, istatistikçiler ve yazılımcılar R için paketler geliştirir, hataları bildirir, dokümantasyon yazar ve örnekler paylaşır. Böylece R sürekli gelişen canlı bir ekosistem haline gelir.
Bu durum, R’yi özellikle bilimsel çalışmalar için değerli kılar. Çünkü kullanılan yöntemlerin, kodların ve paketlerin açık biçimde incelenebilmesi, analizlerin şeffaflığına katkı sağlar. Veri analizi yalnızca sonuç üretmek değil, aynı zamanda bu sonucun nasıl üretildiğini gösterebilmekle de ilgilidir.
R’nin gücünün önemli bir kısmı paket ekosisteminden gelir. Paketler, belirli görevleri yerine getirmek için hazırlanmış fonksiyon, veri seti ve dokümantasyon koleksiyonlarıdır. Base R birçok temel işlevi içerse de, R’nin gerçek esnekliği paketler sayesinde ortaya çıkar.
R paketlerinin önemli bir kısmı CRAN üzerinden dağıtılır. CRAN, Comprehensive R Archive Network ifadesinin kısaltmasıdır ve R paketlerinin merkezi arşivlerinden biridir. CRAN dışında GitHub, Bioconductor ve kurumların kendi depoları üzerinden de paketler dağıtılabilir.
R ekosisteminde farklı amaçlara yönelik çok sayıda paket bulunmaktadır. Örneğin ggplot2 veri görselleştirme, dplyr veri manipülasyonu, tidyr veri düzenleme, shiny etkileşimli web uygulamaları, forecast zaman serisi analizi, sf mekânsal veri analizi ve quarto raporlama süreçlerinde sık kullanılan paketlerdendir.
Bu paket kültürü, R’nin yalnızca mevcut yöntemleri uygulayan bir dil olmasının ötesine geçmesini sağlar. R aynı zamanda yeni yöntemlerin hızlı biçimde denendiği, paylaşıldığı ve yaygınlaştığı bir platformdur.
R öğrenirken tüm işlemleri yalnızca base R ile yapmak zorunda değilsiniz. Base R temel mantığı öğrenmek için önemlidir; ancak gerçek projelerde paket ekosisteminden yararlanmak R’nin en büyük avantajlarından biridir.
R’nin veri analizi alanında güçlü olmasının birkaç temel nedeni vardır. Bunlardan ilki, R’nin veri odaklı tasarımıdır. R’de temel veri yapıları ve fonksiyonlar, istatistiksel hesaplama ihtiyaçlarına uygun biçimde geliştirilmiştir. Vektörleşmiş işlemler, veri çerçevesi yapısı, modelleme fonksiyonları ve grafik sistemleri bu tasarımın parçalarıdır.
Basit bir örnekle düşünelim. Bir sayı dizisinin ortalamasını hesaplamak için R’de tek bir fonksiyon yeterlidir:
# Örnek bir sayısal vektör oluşturalım.
x <- c(10, 20, 30, 40, 50)
# mean() fonksiyonu vektörün ortalamasını hesaplar.
mean(x)[1] 30
Bu kısa örnek bile R’nin veriyle çalışma biçimini gösterir. R, tek tek değerlerle uğraşmak yerine veri kümeleri üzerinde işlem yapmayı kolaylaştırır.
İkinci güçlü yön, R’nin grafik üretme kapasitesidir. R hem base grafik sistemiyle hem de ggplot2 gibi paketlerle bilimsel düzeyde görseller üretmeye olanak tanır. Veri analizi yalnızca sayısal sonuçlar üretmek değildir; sonuçların doğru ve anlaşılır biçimde görselleştirilmesi de analiz sürecinin ayrılmaz bir parçasıdır.
Üçüncü önemli unsur, R’nin raporlama ve tekrar üretilebilirlik konusundaki gücüdür. Quarto ve R Markdown gibi araçlar sayesinde kod, açıklama metni, tablo ve grafikler aynı belge içinde bir araya getirilebilir. Böylece analiz yalnızca yapılmış olmaz; aynı zamanda belgelenmiş ve tekrar üretilebilir hale gelir.
Modern veri analizinde yalnızca sonucu elde etmek yeterli değildir. Aynı sonucun aynı veri ve aynı kod ile yeniden üretilebilmesi gerekir. Bu yaklaşım İngilizcede reproducibility olarak adlandırılır.
Tekrar üretilebilirlik, veri analizinin güvenilirliği açısından kritik öneme sahiptir. Bir grafik, tablo veya model sonucu elle kopyalanarak rapora aktarılıyorsa, hata yapma olasılığı artar. Buna karşılık kod, veri ve rapor aynı çalışma akışı içinde tutulursa sonuçların güncellenmesi, kontrol edilmesi ve paylaşılması çok daha kolay hale gelir.
R bu anlamda güçlü bir çalışma ortamı sunar. Script dosyaları, Quarto belgeleri, paket yönetimi ve proje klasörleri kullanılarak analizler düzenli ve tekrar üretilebilir biçimde yürütülebilir. Bu kitap boyunca da yalnızca komutları öğrenmek değil, aynı zamanda iyi ve sürdürülebilir çalışma alışkanlıkları geliştirmek hedeflenmektedir.
İyi bir veri analizi yalnızca doğru sonucu üretmez; bu sonuca nasıl ulaşıldığını da açık biçimde gösterir.
R öğrenmeye yeni başlayanların en sık karıştırdığı konulardan biri R ile RStudio arasındaki farktır. Bu iki kavram çoğu zaman birlikte kullanıldığı için aynı şey sanılabilir; ancak değildir.
R, hesaplamaları yapan programlama dilidir. Kodların çalıştırılması, fonksiyonların uygulanması, modellerin kurulması ve grafiklerin üretilmesi R tarafından gerçekleştirilir.
RStudio ise R ile çalışmayı kolaylaştıran bir geliştirme ortamıdır. İngilizcede bu tür yazılımlara IDE denir. IDE, Integrated Development Environment ifadesinin kısaltmasıdır ve Türkçede bütünleşik geliştirme ortamı olarak düşünülebilir.
RStudio; kod yazmayı, dosya yönetimini, grafik görüntülemeyi, paket kullanımını, yardım sayfalarına erişimi ve proje yönetimini daha kolay hale getirir. Ancak arka planda hesaplamaları yapan motor yine R’dir.
Basit bir benzetme yapmak gerekirse:
R = motor
RStudio = sürücü paneli ve çalışma ortamı
RStudio olmadan da R kullanılabilir. Ancak özellikle yeni başlayanlar için RStudio, R ile çalışmayı daha düzenli ve anlaşılır hale getirir.
R ile çalışmaya başlamak için önce R’nin, ardından RStudio’nun kurulması gerekir. Kurulum sırası önemlidir; çünkü RStudio arka planda kurulu olan R sürümünü kullanır.
Genel kurulum sırası şu şekildedir:
Bu kitapta kurulum adımları ayrıntılı ekran ekran anlatılmayacaktır. Bunun nedeni, indirme sayfalarının ve arayüzlerin zamanla değişebilmesidir. Bunun yerine güncel bağlantılar ve temel yönlendirme verilecektir.
R’nin resmi indirme adresi CRAN üzerindedir:
https://cran.r-project.org
Bu sayfada işletim sisteminize uygun sürüm seçilebilir. Windows, macOS ve Linux için farklı kurulum seçenekleri bulunmaktadır. Çoğu kullanıcı için varsayılan kurulum ayarları yeterlidir.

RStudio’nun güncel masaüstü sürümü Posit tarafından dağıtılmaktadır. İndirme adresi şudur:
https://posit.co/download/rstudio-desktop/
Yeni başlayanlar için ücretsiz RStudio Desktop sürümü yeterlidir. Kurulum tamamlandıktan sonra RStudio açıldığında arka planda kurulu olan R sürümünü kullanacaktır.

Kurulum sonrasında RStudio açıldığında genellikle Console, script editörü, Environment paneli ve Files/Plots/Packages bölümlerinden oluşan bir arayüz görülür. Bu arayüzün ayrıntıları bir sonraki giriş bölümünde ele alınacaktır.
RStudio arayüzü, R ile çalışmayı kolaylaştırmak için farklı panellerden oluşur. Bu panellerin isimleri ve yerleri kullanılan sürüme göre küçük değişiklikler gösterebilir; ancak temel mantık aynıdır.
Genellikle RStudio arayüzünde şu bölümler yer alır:
Bu arayüz ilk bakışta karmaşık görünebilir; ancak temel mantığı oldukça basittir. Kodlar genellikle script dosyasında yazılır, Console’da çalıştırılır, oluşan nesneler Environment panelinde görülür ve grafikler Plots sekmesinde görüntülenir.
R öğrenmek yalnızca fonksiyon adlarını öğrenmek değildir. Daha önemlisi, veriyle düzenli ve tekrar üretilebilir biçimde çalışmayı öğrenmektir. Bu nedenle iyi çalışma alışkanlıkları başlangıçtan itibaren geliştirilmelidir.
Bunlardan bazıları şunlardır:
Bu alışkanlıklar başlangıçta küçük ayrıntılar gibi görünür. Ancak veri setleri büyüdükçe, analizler karmaşıklaştıkça ve çalışmalar paylaşılabilir hale geldikçe bu alışkanlıkların değeri artar.
Veri analizi sürecinde iyi kod, yalnızca çalışan kod değildir. İyi kod aynı zamanda okunabilir, düzenli, açıklanabilir ve tekrar üretilebilir olmalıdır.
R öğrenme sürecinde resmi dokümantasyonlar, paket belgeleri ve topluluk kaynakları oldukça faydalıdır. Her fonksiyonu ezberlemek mümkün değildir; önemli olan doğru kaynaklara nasıl ulaşılacağını bilmektir.
Paketlerin resmi web sayfaları ve yardım dokümanları çoğu zaman en güvenilir kaynaklardır. Örneğin:
R topluluğu oldukça aktiftir. Sorunlara çözüm bulmak, örnek kodları incelemek ve yeni yöntemleri öğrenmek için şu kaynaklar yararlı olabilir:
Türkçe R kaynakları da giderek artmaktadır. Türkçe blog yazıları, üniversite ders notları, eğitim videoları ve açık eğitim materyalleri R öğrenme sürecinde destekleyici olabilir.
Bu bölümde R programlama dilinin ne olduğu, tarihsel arka planı, açık kaynak yaklaşımı, paket ekosistemi, veri analizi dünyasındaki önemi ve RStudio ile ilişkisi ele alındı. Ayrıca R ve RStudio kurulumu için temel yönlendirme yapıldı ve RStudio arayüzünün temel bileşenleri kısaca tanıtıldı.
Bir sonraki bölümde R ile çalışmanın daha pratik yönüne geçilecek; script kullanımı, Console yapısı, ilk kodların yazılması ve temel çalışma akışı ele alınacaktır.