R Paket Kontrolleri ve Güncelleme İşlemleri
R sürüm yükseltme işlemi sonrasında artık paket güncelleme işlemine de geçebiliriz.
Elbette yazıda bahsi geçen paketlerin taşınması ve benzer bir durumun olmadığını varsayıyor ve paketlerin güncellenmesini harici bir ihtiyaç olarak ele alıyorum. Öncelikle kurulu sürümlerin ve bu sürümler dahilinde tutulan paketlerin olup olmadığını kontrol edelim.
.libPaths()
Fonksiyonun uygulanmasının ardından sürümler dahilindeki aşağıdakine benzer şekilde kütüphanelerin listesini görüntüleyeceğiz.
[1] /Library/Frameworks/R.framework/Versions/3.5/Resources/library
[2] /Library/Frameworks/R.framework/Versions/3.4/Resources/library
[3]...
Aktif Dizindeki Paketlerin Güncellenmesi
Eğer görüntülenen pek bir dizin ise old.packages()
fonksiyonu ile yeni sürümü bulunan paketlerin kontrollerini sağlayabiliriz. Bu işlemler aktif dizindeki yani .libPaths()[1]
'de görüntülenen kütüphanedeki paketlerin güncellenmesini sağlayacaktır.
old.packages()
Paketlerin tamamı güncel ise NULL
dönüşü alacağız1. Aksi durumda ise güncelleme işlemini update.packages()
**` fonksiyonu ile başlatabiliriz.
update.packages()
Ayrıca aşağıdaki şekillerde de yükleme işlemleri gerçekleştirilebilir2.
# herhangi bir uyarı ve onay gerektirmeksizin tüm paketlerin güncellenmesi
update.packages(ask = FALSE)
# sadece belirtilen paket veya paketlerin güncellenmesi
install.packages("plotly")
Güncelleme işlemleriyle ilgili olarak ayrıca tek satırda da çoklu paket yönetimi gerçekleştirmeniz mümkün. Peki, ayrı bir dizinde yer alan paketlerin sürümlerini kontrol edebilir ve güncellenmelerini sağlayabiriz3?
Farklı Dizindeki Paketlerin Güncellenmesi
.libPaths()
fonksiyonu sonunda dönen birden fazla sürüme ait kütüphane olduğunu varsayalım. Paketlerde özelleştirmeler yapmamız söz konusu olmuş olabilir ve böyle bir durumda kontrollü bir şekilde güncelleme işlemi yapmak isteyebiliriz. install.packages()
fonksiyonu üzerinden bu işlemi gerçekleştirebiliriz. Aktif sürüm dışındaki bir dizinde işlemler gerçekleştireceğimizi varsayarak devam edelim o halde. .libPaths()
ile ilgili dizini belirterek işlemlerimizi başlatabiliriz. Örneğin [2]
'de dönen dizini ele alalım.
install.packages(as.character(as.data.frame(installed.packages(.libPaths()[2]))$Package))
Ya da güncelleme işlemini install.packages
fonksiyonuna ait parametrelerle özelleştirerek uygulamak istersek4;
install.packages(lib = lib <- .libPaths()[2], as.data.frame(installed.packages(.libPaths()[2]), stringsAsFactors=FALSE)$Package, type = 'source', dependencies = TRUE)
Bu satırları uyguladığınızda (Run) grafik arayüzü üzerinden Ctrl tuşu ile çoklu seçim yaparak sadece belirttiğiniz paketler için günceleme işlemini başlatabilirsiniz2. Son olarak, paketlerin Status, Sürüm ve benzeri bilgilerine göre değerlendirme yapmak ve güncelleme işlemlerini gerçekleştirmek isteyebileceğimiz durumlara istinaden şu satırları uygulayabiliriz.
pkgs <- packageStatus()$inst
install.packages(pkgs[pkgs$Status != "ok", c("Package", "Version", "Built", "Status")]$Package)
pkgs
değerlerini döktüğünüzde belirttiğiniz durumlara istinaden paketleri filtreleyebilir ve sadece bu paketlerin güncellenmesini sağlayabilirsiniz.