R'de require() ve kütüphane() arasındaki fark
Gereksinim () ve kitaplık () işlevlerinin her ikisi de R’ye paket yüklemek için kullanılabilir, ancak aralarında küçük bir fark vardır:
- require(), bir paket kurulu değilse bir uyarı gösterecek ve ardından kodu çalıştırmaya devam edecektir.
- Library() bir hata verecek ve kod yürütülmesini durduracaktır.
Bu fark nedeniyle, require() genellikle yalnızca bir işleve paketler yüklüyorsanız, böylece bir paket mevcut olmasa bile işlevin çalışmaya devam etmesi durumunda kullanılır.
Uygulamada çoğu programcı, bir paketin kurulu olmadığını bildiren bir hata mesajı almak isteyeceğiniz için kitaplık() yöntemini kullanmanızı önerir.
Bu, kod yazarken mümkün olduğunca erken bilmeniz gereken bir şeydir.
Aşağıdaki örnek, pratikte require() ve kütüphane() işlevleri arasındaki farkı göstermektedir.
Örnek: R’de require() ve kütüphane() arasındaki fark
BostonHousing veri setini mlbench paketinden yüklemek istediğimizi, ancak mlbench paketinin önceden kurulu olmadığını varsayalım.
Aşağıdaki kod, bu paketi yüklemeyi ve BostonHousing veri kümesinde veri analizi gerçekleştirmeyi denemek için Library() işlevinin nasıl kullanılacağını gösterir:
#attempt to load mlbench library library (mlbench) Error in library(mlbench): there is no package called 'mlbench' #load Boston Housing dataset data(BostonHousing) #view summary of Boston Housing dataset summary(BostonHousing) #view total number of rows in Boston Housing dataset nrow(BostonHousing)
Mlbench paketi henüz kurulu olmadığından, Library() fonksiyonunu kullandığımızda hata alıyoruz ve kodun geri kalanı çalıştırılmıyor bile.
Bu kullanışlıdır çünkü bize bu paketin kurulu olmadığını ve devam etmeden önce onu kurmamız gerektiğini hemen bildirir.
Ancak bunun yerine mlbench paketini yüklemek için require() işlevini kullandığımızı varsayalım:
#attempt to load mlbench library require (mlbench) Warning message: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called 'mlbench' #load Boston Housing dataset data(BostonHousing) Warning message: In data(BostonHousing) : data set 'BostonHousing' not found #view summary of Boston Housing dataset summary(BostonHousing) Error in summary(BostonHousing): object 'BostonHousing' not found #view total number of rows in Boston Housing dataset nrow(BostonHousing)
Bu örnekte, BostonHousing veri kümesini özetlemek için Summary() işlevini kullanmaya çalışana kadar bir hata mesajı almayız.
Bunun yerine require() fonksiyonunu kullandıktan sonra bir uyarı alırız ve kodun geri kalanı bir hatayla karşılaşıncaya kadar çalışmaya devam eder.
Bu örnek, R’de Library() ve require() arasındaki farkı göstermektedir: Library() işlevi hemen bir hata üretir ve mlbench yüklenmediğinden kodun geri kalanını yürütmez.
Bu nedenle çoğu senaryoda paketleri yüklerken kütüphane() fonksiyonunu kullanmak isteyeceksiniz.
Bonus: Belirli bir paketin kurulu olup olmadığını kontrol edin
Mevcut R ortamımızda belirli bir paketin kurulu olup olmadığını kontrol etmek için system.file() fonksiyonunu kullanabiliriz.
Örneğin, ggplot2 paketinin mevcut R ortamında kurulu olup olmadığını kontrol etmek için aşağıdaki sözdizimini kullanabiliriz:
#check if ggplot2 is installed system. file (package=' ggplot2 ') [1] "C:/Users/bob/Documents/R/win-library/4.0/ggplot2"
Ggplot2 kurulduğundan beri, işlev yalnızca paketin kurulu olduğu dosya yolunu döndürür.
Şimdi mlbench paketinin kurulu olup olmadığını kontrol ettiğimizi varsayalım:
#check if mlbench is installed system. file (package=' mlbench ') [1] ""
İşlev, mlbench paketinin mevcut ortamımızda kurulu olmadığını bildiren boş bir dize döndürür.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’ye birden fazla paket nasıl yüklenir
R’de ortam nasıl temizlenir
RStudio’daki tüm grafikler nasıl temizlenir?