Kurs
R, istatistik ve veri bilimi için en yaygın kullanılan programlama dillerinden biridir ve gücünün büyük kısmı paketlerden gelir. Doğal dil işleme yapmanız, web’den hava durumu verisi çekmeniz veya karmaşık istatistiksel modeller çalıştırmanız gerektiğinde, bunun için neredeyse kesinlikle bir paket vardır. 2026 itibarıyla resmi depo (CRAN) 21.000’den fazla pakete ev sahipliği yapıyor ve internette kamuya açık daha pek çok paket bulunuyor.
R ile yeni başlıyorsanız, R paketlerinin temellerini ve nasıl kullanıldıklarını adım adım anlatacağım. Ele alacaklarımız şunlar:
R Paketi Nedir?
R paketleri, topluluk tarafından geliştirilen fonksiyon ve veri setleri koleksiyonlarıdır. R’nin gücünü, temel R işlevlerini iyileştirerek veya yenilerini ekleyerek artırırlar. Örneğin, genellikle data frame’lerle çalışıyorsanız, en popüler R paketlerinden ikisi olan dplyr veya data.table’ı muhtemelen duymuşsunuzdur.
Bir paket tipik olarak R kodunu (ve bazen derlenmiş C veya Fortran kodunu), dokümantasyonu, testleri ve veri setlerini, paylaşabileceğiniz ve yeniden kullanabileceğiniz tek bir birimde paketler.
Bir paketle ilgili temel bilgiler DESCRIPTION dosyasında verilir; burada paketin ne yaptığını, yazarını, dokümantasyonun hangi sürüme ait olduğunu, tarihi, lisans türünü ve paket bağımlılıklarını bulabilirsiniz.
DESCRIPTION dosyasını görmek için alternatif stats bağlantısını da kullanabileceğinizi unutmayın.
cran.r-project.org veya stat.ethz.ch gibi yerlerde DESCRIPTION dosyalarını bulmanın dışında, R içinde de packageDescription("package") komutuyla, paketin dokümantasyonu üzerinden help(package = "package") ile ya da çevrimiçi olarak paketin deposunda açıklama dosyasına erişebilirsiniz.
Örneğin, “stats” paketi için bu yollar şöyle olacaktır:
packageDescription("stats")
help(package = "stats")
R Depoları Nedir?
Depo, paketlerin bulunduğu ve buradan kurulabildiği yerdir. Siz veya kurumunuz yerel bir depoya sahip olabilirsiniz; ancak genellikle çevrimiçidir ve herkesin erişimine açıktır. R paketleri için en popüler üç depo şunlardır:
- CRAN: Resmi depo; dünya genelindeki R topluluğu tarafından bakım yapılan ftp ve web sunucularının bir ağıdır. Koordinasyonunu R Foundation yürütür ve bir paketin burada yayımlanabilmesi için CRAN politikalarına uyduğunu garanti eden çeşitli testlerden geçmesi gerekir.
- Bioconductor: Biyoinformatik için açık kaynak yazılımlara yönelik konu-özel bir depodur. CRAN gibi, kendine özgü gönderim ve inceleme süreçleri vardır ve topluluğu oldukça aktiftir; yılda birkaç konferans ve toplantı düzenlenir.
- GitHub: R’ye özgü olmasa da GitHub muhtemelen açık kaynak projeler için en popüler depodur. Popülerliği, açık kaynak için sınırsız alan sunması, bir sürüm kontrol yazılımı olan git ile entegrasyonu ve paylaşım/işbirliğini kolaylaştırmasından gelir. Ancak, burada bir inceleme süreci olmadığını unutmayın.
Bir R Paketi Nasıl Kurulur
R paketlerini kurmanın birkaç farklı yolu vardır.
CRAN’dan R paketleri kurma
Bir R paketini kurmanın en yaygın yolu CRAN’dandır. Sadece paket adına ve install.packages("package") çağrısına ihtiyacınız var. Başka yerlerde barındırılan paketlerde (Bioconductor, GitHub) kurulum yöntemi farklıdır—her birini aşağıda ele alacağım.
Örneğin, CRAN’de yayımlanan en eski ve hâlâ çevrimiçi olan, güncellenen paket Daniel Adler’ın vioplot paketidir.
Orijinal yayımlanma tarihi, paketin DESCRIPTION dosyasındadır.
Onu CRAN’den kurmak için şunu kullanmanız gerekir:
install.packages("vioplot")
Bunu çalıştırdıktan sonra R; indirme kaynağı, kurulum ilerlemesi ve başarılı olup olmadığına dair mesajlar yazdırır. İşte görebileceğiniz şeylerin kısaltılmış bir örneği:
Installing package into '/home/username/R/x86_64-pc-linux-gnu-library/4.6'
(as 'lib' is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/vioplot_0.4.0.tar.gz'
...
* DONE (vioplot)
Çıktı, paketin nereye kurulduğunu, nereden indirildiğini ve kurulumun başarılı olup olmadığını söyler. İşletim sisteminize bağlı olarak bu mesajlar değişebilir.
Son olarak, aynı anda birden fazla R paketi kurmak için, install.packages() fonksiyonunun ilk argümanına bunları bir karakter vektörü olarak yazmanız yeterlidir:
install.packages(c("vioplot", "MASS"))
CRAN yansılarından kurma
CRAN’in bir sunucu ağı olduğunu (her biri “ayna” olarak adlandırılır) unutmayın; bu nedenle hangisini kullanmak istediğinizi belirtebilirsiniz. R’yi RGui arayüzü üzerinden kullanıyorsanız, install.packages() komutunu kullandıktan hemen sonra çıkan listeden seçebilirsiniz. RStudio’da ise yansı ayna varsayılan olarak seçilidir.
Aynanızı chooseCRANmirror() ile veya doğrudan install.packages() fonksiyonunun repo parametresi içinde seçebilirsiniz. Kullanılabilir aynaların listesini getCRANmirrors() ile veya doğrudan CRAN aynaları sayfasında görebilirsiniz.
Örnek: vioplot paketini kurmak için (Belçika) Ghent University Library aynasını kullanmak üzere şunu çalıştırabilirsiniz:
install.packages("vioplot", repos = "https://lib.ugent.be/CRAN")
Bioconductor paketlerini kurma
Bioconductor paketleri BiocManager paketi aracılığıyla kurulur. Önce CRAN’den BiocManager’ı kurun:
install.packages("BiocManager")
Ardından Bioconductor paketlerini adlarıyla kurun:
BiocManager::install(c("GenomicFeatures", "AnnotationDbi"))
Tüm çekirdek Bioconductor paketlerini kurmak veya güncellemek için BiocManager::install()’ı argümansız çağırın. Mevcut sürüm Bioconductor 3.23’tür ve R 4.6.0 gerektirir. Ayrıntılar için resmi kurulum rehberine bakın.
devtools ile paket kurma
Yukarıda okuduğunuz gibi, her deponun kendine özgü bir kurulum yöntemi vardır; dolayısıyla düzenli olarak farklı kaynaklardan paket kullanıyorsanız bu durum biraz can sıkıcı olabilir. Daha verimli bir yol, bu süreci basitleştirdiği için devtools paketini kullanmaktır; çünkü CRAN dâhil her depo için özel fonksiyonlar içerir.
devtools’u her zamanki gibi install.packages("devtools") ile kurabilirsiniz; ancak ayrıca Windows’ta Rtools, Mac’te Xcode komut satırı araçları veya Linux’ta r-base-dev ve r-devel kurmanız gerekebilir.
devtools kurulduktan sonra, diğer paketleri kurmak için yardımcı fonksiyonlarını kullanabilirsiniz. Seçenekler şunlardır:
-
Bioconductor’dan
install_bioc(), -
Bitbucket’tan
install_bitbucket(), -
CRAN’den
install_cran(), -
Bir git deposundan
install_git(), -
GitHub’dan
install_github(), -
Yerel bir dosyadan
install_local(), -
SVN deposundan
install_svn(), -
Bir URL’den
install_url()ve -
CRAN paketinin belirli bir sürümünden
install_version().
Örneğin, babynames paketini GitHub deposundan kurmak için şunu kullanabilirsiniz:
devtools::install_github("hadley/babynames")
Yüklü R Paketlerini Güncelleme, Kaldırma ve Kontrol Etme
R ile daha fazla zaman geçirdikten sonra, haftada hatta günde birkaç kez install.packages() kullanmanız normaldir; R paketlerinin geliştirilme hızı göz önüne alındığında, sevdiğiniz paketleri er ya da geç güncellemeniz veya değiştirmeniz gerekebilir. Bu bölümde, koleksiyonunuzu yönetmenize yardımcı olabilecek bazı fonksiyonları bulacaksınız.
- Bilgisayarınızda hangi paketlerin kurulu olduğunu kontrol etmek için şunu kullanabilirsiniz:
installed.packages()
- Bir paketi kaldırmak,
remove.packages()fonksiyonuyla oldukça basittir; sizin durumunuzda:
remove.packages("vioplot")
- Hangi paketlerin güncellemeye ihtiyaç duyduğunu kontrol edin:
old.packages()
- Tüm paketleri güncelleyin:
update.packages()
- Belirli bir paketi, yeniden kurarak güncelleyin:
install.packages("vioplot")
Paketleri renv ile Yönetme
Proje düzeyinde bağımlılık yönetimi için, renv paketi (Posit tarafından sürdürülür) Python’un sanal ortamlarına benzer şekilde yalıtılmış, çoğaltılabilir paket ortamları oluşturur.
install.packages("renv")
# Projenizde renv'i başlatın
renv::init()
# Mevcut paketlerin anlık görüntüsünü alın
renv::snapshot()
# Paketleri kilit dosyasından geri yükleyin
renv::restore()
renv, tam paket sürümlerini bir renv.lock dosyasında kaydeder; böylece ekip arkadaşları ortamınızı renv::restore() ile çoğaltabilir. Bu, özellikle ekipler ve uzun soluklu projeler için çok kullanışlıdır.
R Paketlerini Kurmak için Kullanıcı Arayüzleri
Grafiksel bir arayüzü tercih ediyorsanız hem RStudio hem de RGui paket yönetim araçları içerir. RStudio’da (artık Posit tarafından geliştirilir) Tools → Install Packages’a gidip açılan pencerede paket adını yazın. RStudio’nun tam tanıtımı için RStudio eğitimimize bakın.

RGui’de ise araçları Packages menüsü altında bulacaksınız.

Paketler Nasıl Yüklenir
Bir paket kurulduktan sonra, işlevlerini kullanmaya hazırsınız. Eğer bir paket içindeki birkaç fonksiyonu veya veriyi ara sıra kullanmanız gerekiyorsa, onlara packagename::functionname() gösterimiyle erişebilirsiniz. Örneğin, babynames paketini kurduğunuza göre, veri setlerinden birini keşfedebilirsiniz.
Bir paketin hangi fonksiyon ve verilere sahip olduğunu görmek için help(package = "babynames") kullanın.
babynames paketi içindeki births veri setine erişmek için sadece şunu yazın:
babynames::births
## # A tibble: 6 x 2
## year births
## <int> <int>
## 1 2009 4130665
## 2 2010 3999386
## 3 2011 3953590
## 4 2012 3952841
## 5 2013 3932181
## 6 2014 3988076
Paketi daha yoğun kullanacaksanız, onu belleğe yüklemek mantıklı olabilir. Bunu yapmanın en basit yolu library() komutudur.
Lütfen dikkat: install.packages()’ın girdisi bir karakter vektörüdür ve adın tırnak içinde yazılmasını gerektirir; buna karşılık library() hem karakter hem isim kabul eder ve paketin adını tırnaksız yazmanıza imkân verir.
Bundan sonra artık package::function() gösterimine gerek kalmaz ve işlevlerine doğrudan, diğer temel R fonksiyonları veya verileri gibi erişebilirsiniz:
births
## # A tibble: 6 x 2
## year births
## <int> <int>
## 1 2009 4130665
## 2 2010 3999386
## 3 2011 3953590
## 4 2012 3952841
## 5 2013 3932181
## 6 2014 3988076
require() fonksiyonunu duymuş olabilirsiniz: Bu fonksiyonla da bir paketi yüklemek mümkündür, ancak farkı, paket kurulu değilse hata vermemesidir.
Bu yüzden dikkatli kullanın!
Bu konuyla ilgili daha fazlasını Yihui Xie’nin library() vs require() yazısında okuyabilirsiniz. Paket yönetimi dâhil R’nin temellerini öğrenmek için R öğrenme rehberimize bakın.
Paket ile Kütüphane Arasındaki Fark Nedir?
library() fonksiyonundan bahsederken, bazen paket ile kütüphane arasında karışıklık yaşanır ve insanların paketlere “kütüphane” dediğini görebilirsiniz.
Lütfen karıştırmayın: library(), bir paketi yüklemek için kullanılan komuttur ve genellikle bilgisayarınızdaki bir klasör olan, paketin bulunduğu yeri ifade eder; paket ise kullanışlı biçimde bir araya getirilmiş fonksiyonlar bütünüdür.
Hadley Wickham’dan, Posit’te (eski adıyla RStudio) Baş Bilim İnsanı ve DataCamp’te R’de Fonksiyon Yazmaya Giriş eğitmeni, konuyu güzel özetleyen bir alıntı:
@ijlyttle a package is like a book, a library is like a library; you use library() to check a package out of the library #rsats
— Hadley Wickham (@hadleywickham) December 8, 2014
Bu farkı hatırlamanın bir diğer yolu da library() fonksiyonunu argümansız çalıştırmaktır. Bu, bilgisayarınızdaki farklı kütüphanelerde kurulu paketlerin listesini verir:
library()
Birden Fazla R Paketini Aynı Anda Nasıl Yüklerim?
install.packages()’ın aksine, library() her çağrıda yalnızca bir paket yükler. Yaygın bir yöntem lapply() kullanmaktır:
packages <- c("dplyr", "ggplot2", "tidyr")
lapply(packages, library, character.only = TRUE)
Ayrıca, eksik paketleri kurup tek adımda yükleyen p_load() fonksiyonuyla pacman paketini de kullanabilirsiniz.
Bir R Paketi Nasıl Kaldırılır (Unload)
Belirli bir paketi bellekten kaldırmak için detach() fonksiyonunu kullanabilirsiniz. Kullanım şekli şöyledir:
detach("package:babynames", unload = TRUE)
Alternatif Dokümantasyon ve Yardım Kaynakları
Yukarıdaki bölümlerde okuduğunuz gibi, DESCRIPTION dosyası bir paket hakkında temel bilgileri içerir; ancak bu bilgiler, paketi analizinizde kullanmanıza yardımcı olmaz. Bu durumda iki ek dokümantasyon kaynağına ihtiyacınız olacak: yardım dosyaları ve vinyetler.
Yardım Dosyaları
Temel R’de olduğu gibi, bir paketle yeni başlarken ilk başvurulacak dokümantasyon kaynağı ?() ve help() komutlarıdır. Muhtemelen, help(package = "packagename") ile pakete genel bir bakış alabileceğinizi hatırlıyorsunuzdur; ancak her bir fonksiyon help("fonksiyon adı") veya paket yüklenmemişse help(function, package = "package") ile tek tek incelenebilir; burada genellikle fonksiyonun açıklaması, parametreleri ve bir kullanım örneği bulunur.
Örneğin, vioplot paketindeki vioplot komutunun yardım dosyasını almak için şunu yazabileceğinizi hatırlayabilirsiniz:
help(vioplot, package = "vioplot")
İpucu: Yüklü bir paketin içinde neler olduğunu görmenin başka bir yolu daha var. ls() komutunu şu şekilde kullanın:
library(babynames)
ls("package:babynames")
## [1] "applicants" "babynames" "births" "lifetables"
Vinyetler
Çoğu pakete dâhil edilen bir diğer çok faydalı yardım kaynağı vinyetlerdir; bunlar, yazarların paketlerinin bazı işlevlerini daha ayrıntılı biçimde gösterdiği belgelerdir. Vinyetleri takip etmek, paketin yaygın kullanım alanlarıyla pratik yapmanın harika bir yoludur; bu nedenle, kendi analizinize başlamadan önce onunla çalışmaya başlamak için mükemmel bir yöntemdir.
Hatırlayacağınız üzere, belirli bir pakete ait vinyet bilgileri yerelde veya çevrimiçi olarak DOCUMENTATION dosyasında da bulunur; fakat kurulu paketlerinizde yer alan vinyetlerin listesini browseVignettes() fonksiyonuyla da elde edebilirsiniz; belirli bir paket için adını parametre olarak eklemeniz yeterlidir: browseVignettes(package="packagename"). Her iki durumda da bir tarayıcı penceresi açılır; böylece kolayca göz atabilir ve tercih ettiğiniz vinyete tıklayabilirsiniz.
Komut satırında kalmayı tercih ediyorsanız, vignette() komutu vinyetlerin listesini gösterir; vignette(package = "packagename") ise belirli bir pakete dâhil olanları listeler ve istediğinizi belirledikten sonra vignette("vignettename") komutunu kullanmanız yeterlidir.
Örneğin, görselleştirme için en popüler paketlerden biri ggplot2’dir. Daha fazlasını DataCamp’in ggplot2 ile Veri Görselleştirmeye Giriş kursunda öğrenebilirsiniz. Muhtemelen bilgisayarınıza zaten kurdunuz; ama kurmadıysanız, bu install.packages() becerilerinizi test etmek için bir fırsat.
ggplot2’yi kurduğunuzu varsayarak, içine hangi vinyetlerin dâhil olduğunu kontrol edebilirsiniz:
vignette(package = "ggplot2")
ggplot2 için “ggplot2-specs” ve “extending-ggplot2” isimli iki vinyet mevcuttur. İlkini şu şekilde inceleyebilirsiniz:
vignette("ggplot2-specs")
RStudio’da bu, sağdaki Help sekmesinde görüntülenir; RGui’de veya komut satırında ise vinyeti gösteren bir tarayıcı penceresi açılır.
Daha fazla R’den yardım alma seçeneğini R-Project sitesinde bulabilirsiniz.
Doğru R Paketlerini Nasıl Seçersiniz?
Bu noktada, R paketlerinizi kurabilecek ve onlardan en iyi şekilde yararlanabileceksiniz; ancak havada hâlâ son bir soru var: İhtiyacınız olan paketleri nerede bulursunuz?
Paketleri keşfetmenin tipik yolu R öğrenmektir. Pek çok eğitim ve kursta, en popüler paketlerden söz edilir. Örneğin, R’de Veri Temizleme kursu tidyr’ı derinlemesine ele alır.
R’de ele almak istediğiniz her konu için muhtemelen ilginç bir paket bulabilirsiniz.
Ancak ya belirli bir sorununuz varsa ve nereden başlayacağınızı bilmiyorsanız? Örneğin, bu yazının girişinde belirttiğim gibi, Korece metinleri analiz etmekle ilgileniyorsanız?
Ya da hava durumu verisi toplamak mı istiyorsunuz? Yoksa evapotranspirasyonu mu tahmin etmek istiyorsunuz?
Çeşitli depoları gözden geçirdiniz ve evet, CRAN paketleri listesini kontrol edebileceğinizi biliyorsunuz; ancak 21.000’den fazla seçenekle kaybolmak kolaydır.
Hadi bazı alternatiflere bakalım!
CRAN Task View
Bir alternatif, CRAN task view’leri sayesinde CRAN paketlerinin kategorilerini gezinmektir. Evet, doğru! Resmi depo olan CRAN, paketler arasında gezinme seçeneği de sunar. Task view’ler, paketleri işlevlerine göre gruplandıran temalar veya kategorilerdir.
Aşağıda görebileceğiniz gibi, genetikle ilgili tüm paketler “Genetics” task view’inde kategorize edilir:
Korece metinler örneğini ele alırsak, Doğal Dil İşleme task view’ine giderek ihtiyacınız olan paketi kolayca bulabilirsiniz. Orada, metni okuyarak metinlerinizi işleyebilecek paketi bulabilir veya basit bir CTRL+F ile aradığınız anahtar kelimeyi yazabilirsiniz.
RDocumentation ve R-Universe
RDocumentation, CRAN, Bioconductor ve GitHub’daki paket dokümantasyonunu tek bir aranabilir arayüzde bir araya getirir. Sonuçları indirme popülerliğine göre sıralar; böylece yaygın kullanılan paketler önce görünür.
R-Universe, derleme durumu, dokümantasyon ve bağımlılık bilgilerini içeren paket sayfaları sunan daha yeni bir alternatiftir. Her ikisi de ücretsizdir ve yer imlerine eklemeye değerdir.
Son Söz
R paketleri, R ekosisteminin bel kemiğidir. CRAN, Bioconductor veya GitHub’dan kurun; temel iş akışı aynıdır: bir kez install.packages() veya BiocManager::install() ile kurun, ardından her oturumda library() ile yükleyin.
Burada kendi paketinizi nasıl oluşturacağınızı ele almadım. Sıradaki adımınız buysa, Hadley Wickham’ın R Packages kitabı temel başvuru kaynağıdır ve DataCamp’in R Paketleri Geliştirme kursu süreci uygulamalı olarak anlatır.
R temel bilgilerinizi daha geniş ölçekte güçlendirmek istiyorsanız, Introduction to R kursuyla başlamanızı veya R kurs kataloğunun tamamını keşfetmenizi öneririm.
