Instalacja i ładowanie pakietów w R

Do sprawnej i wydajnej pracy w języku R nieodzowne jest wykorzystywanie różnych pakietów. Pakiety w R to ni mniej, ni więcej, jak utworzone przez użytkowników, przetestowane, zoptymalizowane, działające dobrze ze swoim przeznaczeniem i na określonych typach danych funkcje, które można swobodnie wykorzystywać we własnych skryptach. Dokumentacja pakietów R zlokalizowana jest w ogólnodostępnym repozytorium CRAN (ang. The Comprehensive R Archive Network). W pierwszym wpisie na blogu chciałbym przedstawić metodę na sprawną instalację i ładowanie pakietów w R.

Na początku należy wspomnieć dla zasady, że wbudowana funkcja służąca do instalacji pakietu w R wygląda następująco:

install.packages("nazwa_pakietu")

Po wykonaniu tego polecenia, pakiet jest automatycznie pobierany z serwera i instalowany w naszym środowisku. Po instalacji, do działania pakietu, niezbędne jest jego załadowanie, co wykonuje się poleceniem:

library("nazwa_pakietu")

lub rzadziej używanym poleceniem:

require("nazwa_pakietu")

Zamiast stosować powyższe polecenia do instalacji pakietów, możemy użyć poniższego fragmentu kodu, w którym to utworzona funkcja install_packages przed instalacją pakietów sprawdza, czy dany pakiet nie jest już w naszym środowisku zainstalowany, jak również czy nie jest już załadowany i wykonuje instalację i załadowanie tylko tych brakujących pakietów, które są na naszej liście. Poniżej cały kod:

packages <- c("dplyr",
              "tidyverse",
              "ggplot2")
install_packages <- function(n = length(packages)) {
  for (i in 1:n) {
    if(packages[i] %in% rownames(installed.packages()) == FALSE) {
      install.packages(packages[i])
      library(packages[i], character.only = TRUE)
    } else {
      library(packages[i], character.only = TRUE)
    }
  }
  print("Pakiety zostały zainstalowane i załadowane")
}
 
install_packages()

Dla ścisłości jeszcze krótkie wytłumaczenie, co jest co… packages to nadana przez nas nazwa wektora, do którego zapisujemy zmienne znakowe będące po prostu nazwami pakietów, które chcemy zainstalować; install_packages to nasza nazwa funkcji, która wykonuje procedurę instalacji i ładowania pakietów. Natomiast install_packages() to polecenie wykonania tej funkcji.

Tutaj ważna uwaga techniczna – domyślna funkcja install.packages() z pakietu utils może nam płatać figle, jeżeli użytkownik Windows nie ma uprawnień administratora wymaganych do modyfikacji katalogów systemowych, ponieważ pobierane pakiety wymagają dostępu do tych zasobów. Wówczas mogą pojawiać się błędy, a pakiet może nie zostać zainstalowany lub załadowany.

Aby dowiedzieć się na temat pakietów, które mamy obecnie zainstalowane w swoim środowisku R, użyjemy poniższych funkcji:

rownames(installed.packages())
installed.packages()
nrow(installed.packages())

Funkcja z linii 1 wypisuje same nazwy pakietów, a funkcja z linii 2 ich nazwy wraz z dokładniejszymi danymi, jak np: ścieżka plików pakietu na naszym dysku, czy jego wersja. Aby natomiast dowiedzieć się jaką liczbę zainstalowanych pakietów posiadamy, użyjemy funkcji z linii 3.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *