2 Instalacija i aktivacija paketa

Paketi u R-u obično sadrže skup funkcija i kompiliranog koda, ali mogu uključivati i podatke te dokumentaciju koja pomaže korisnicima da ih učinkovito koriste. Standardna instalacija R-a dolazi s osnovnim paketima, ali postoji tisuće dodatnih paketa koji omogućuju specijalizirane analize, vizualizacije, povezivanje s bazama podataka i mnoge druge funkcionalnosti. Drugim riječima, paketi predstavljaju ključni dio ekosustava i omogućavaju pristup širokom rasponu funkcionalnosti, od osnovne statističke analize do napredne vizualizacije podataka i strojnog učenja.

2.1 Instalacija paketa

Paketi se obično instaliraju pomoću funkcije install.packages(“ime_paketa”). Većina paketa dostupna je na CRAN-u (Comprehensive R Archive Network), ali paketi se mogu instalirati i s drugih izvora kao što su GitHub, Bioconductor itd.

CRAN pruža listu dostupnih paketa, često s opisima i uputama. Za specijalizirane pakete, Bioconductor i GitHub su također popularni izvori.

Za svaki paket postoji dokumentacija koja objašnjava njegovu upotrebu. Dostupna je pomoću help(package=“naziv_paketa”) ili “?ime_funkcije.” U nedoumicama, korisne su stranice kao što je https://stackoverflow.com/ ili na primjer https://towardsdatascience.com.

Najčešće korišteni paketi u R-u pokrivaju širok spektar funkcionalnosti, uključujući analizu podataka, vizualizaciju, manipulaciju podataka, statističku analizu i izradu izvještaja. Neki od najpopularnijih paketa su:

  • dplyr: Ovaj paket je ključan za manipulaciju podacima. Omogućuje lako i brzo sortiranje, filtriranje, grupiranje i sumiranje podataka [8].

  • ggplot2: Paket za vizualizaciju podataka koji omogućuje izradu složenih grafova i dijagrama koristeći gramatiku grafičkog dizajna [9].

  • tidyr: Koristi se za ‘čišćenje’ podataka, pomaže u preuređivanju podataka u čist i uredan format [10].

  • readr: Dio “tidyverse” skupa paketa, koristi se za brzo i efikasno učitavanje datoteka kao što su CSV, TSV i FWV [11].

  • tibble: Moderna verzija podatkovnog okvira u R-u, dio “tidyverse” skupa, olakšava rad s tabelarnim podacima [12].

  • lubridate: Ovaj paket olakšava rad s datumima i vremenima u R-u, omogućujući jednostavnu manipulaciju i izračunavanje vremenskih intervala [13].

  • stringr: Dio “tidyverse” skupa, koristi se za manipulaciju i obradu stringova (tekstualnih podataka) [14].

  • purrr: Omogućava funkcionalno programiranje u R-u, što pomaže u pisanju čistog i efikasnog koda [15].

  • caret: Koristi se za strojno učenje, omogućuje jednostavnu izradu prediktivnih modela i njihovu validaciju [16].

  • shiny: Omogućava izradu interaktivnih web aplikacija u R-u bez potrebe za poznavanjem HTML-a, CSS-a ili JavaScripta [17].

Instalacija paketa općenito funkcionira na sljedeći način:

install.packages("Naziv_paketa")

Instalacija paketa iz izvora koji nisu standardni CRAN repozitoriji, kao što je GitHub, zahtijeva korištenje alata kao što je paket devtools. Paket devtools omogućuje instalaciju paketa izravno iz izvora koda, što je posebno korisno za razvojne verzije paketa ili pakete koji još nisu dostupni na CRAN-u. Malo je vjerojatno da će ovo biti potrebno u ranijim fazama učenja R-a, no ako naiđete na takvu situaciju, možete pristupiti problemu na sljedeći način.

Na primjer, ako želite instalirati paket dostupan na GitHub-u, morate prvo instalirati paket devtools [18] ako ga već nemate. Tada možete koristiti funkciju install_github iz devtools da instalirate paket izravno s GitHuba. Trebat ćete navesti put do repozitorija na GitHubu, koji obično uključuje korisničko ime vlasnika repozitorija i naziv paketa. Primjer:

install.packages("devtools")
library(devtools)

#ili

devtools::install_github("korisnickoime/nazivpaketa")

#Na primjer, ako želite instalirati razvojnu verziju paketa ggplot2:
devtools::install_github("tidyverse/ggplot2")

Prilikom instalacije paketa s GitHuba, važno je biti svjestan da ti paketi možda nisu prošli sve standardne CRAN testove i provjere, pa stoga mogu biti nestabilni ili nespojivi s drugim paketima.

2.2 Učitavanje paketa

Nakon instalacije, paket se učitava u radnu sesiju pomoću library(ime_paketa) ili require(ime_paketa). library() će dati grešku ako paket nije pronađen, dok require() daje upozorenje i vraća FALSE, što je korisno u uvjetnom programiranju.

library(Naziv_paketa)

2.3 Ažuriranje paketa

Paketi se redovito ažuriraju, a korisnici mogu ažurirati svoje pakete pomoću funkcije update.packages(). Paketi često ovise o drugim paketima. Instaliranje i ažuriranje jednog paketa može povući i instalaciju ovisnih paketa. Pa tako, ako ažurirate jedan paket, često će biti nužno instalirati i povezane pakete.

update.packages("Naziv_paketa")

2.4 Najčešće pogreške

Pri učitavanju paketa u R, korisnici mogu naići na nekoliko uobičajenih pogrešaka. Ovdje su neke od najčešćih grešaka koje se događaju prilikom učitavanja paketa i kako ih izbjeći:

  • Nepostojanje paketa: Greška se javlja ako pozvani paket nije instaliran. R koristi pakete koji su instalirani u sustavu, pa ako pokušate učitati paket koji nije instaliran, dobit ćete poruku o grešci. Rješenje je jednostavno instalirati paket koristeći install.packages(“Naziv_paketa”) prije njegovog pozivanja s library(Naziv_paketa).

  • Pogrešan naziv paketa: Često se dogodi da korisnici pogrešno upišu naziv paketa, bilo zbog tipfelera, korištenja krivih velikih ili malih slova, ili zbog pogrešnog naziva. R je osjetljiv na veličinu slova, pa je važno točno upisati naziv paketa.

  • Sukobi između paketa: Neki paketi mogu imati funkcije s istim imenima, što može dovesti do sukoba. Ako dva paketa koja su učitana u istoj sesiji imaju funkcije istih imena, R će koristiti funkciju iz paketa koji je posljednji učitan. Da biste izbjegli ovu vrstu problema, možete koristiti sintaksu paket::funkcija() kako biste jasno naveli koju funkciju želite koristiti.

  • Zastarjele verzije paketa: Ponekad paketi koje želite koristiti zbog zastarjelosti nisu kompatibilni s vašom verzijom R-a ili s drugim paketima koje koristite. Uvijek je dobro redovito ažurirati R i sve instalirane pakete pomoću update.packages() kako biste smanjili ovaj rizik.

  • Problem s ovisnostima: Neki paketi zahtijevaju da određeni drugi paketi budu prethodno instalirani. Ako ove ovisnosti nisu zadovoljene, instalacija ili učitavanje paketa može rezultirati greškom. Rješenje je pažljivo pročitati upute za instalaciju i osigurati da su sve potrebne ovisnosti instalirane.

  • Korištenje paketa iz nestandardnih izvora: Instalacija paketa iz izvora kao što su GitHub zahtijeva dodatne korake, poput korištenja paketa devtools. Važno je slijediti upute i biti svjestan da paketi iz ovih izvora mogu biti u razvojnoj fazi i potencijalno nestabilni.

  • Problemi s pravima pristupa: Prilikom instalacije paketa, osobito na višekorisničkim ili zaštićenim sustavima, može doći do grešaka zbog nedostatnih prava za instalaciju u globalne direktorije. U takvim slučajevima, korisnici mogu koristiti osobne biblioteke ili zatražiti pomoć od administratora sustava.

Literatura

[8]
W. Yarberry and W. Yarberry, “Dplyr,” CRAN Recipes: DPLYR, Stringr, Lubridate, and RegEx in R, pp. 1–58, 2021.
[9]
H. Wickham and H. Wickham, “Getting Started with ggplot2,” ggplot2: Elegant graphics for data analysis, pp. 11–31, 2016.
[10]
H. Wickham and M. H. Wickham, “Package ‘tidyr’,” Easily Tidy Data with’spread’and’gather ()’Functions, 2017.
[11]
H. Wickham, J. Hester, R. Francois, J. Bryan, S. Bearrows, and P. B. C. Posit, “Package ‘readr’,” Read Rectangular Text Data. Available online: https://cran. r-project. org/web/packages/readr/readr. pdf (accessed on 28 June 2022), 2023.
[12]
K. Müller, H. Wickham, R. Francois, J. Bryan, and RStudio, “Tibble: Simple Data Frames.” Mar. 2023. Available: https://cran.r-project.org/web/packages/tibble/index.html
[13]
V. Spinu, G. Grolemund, and H. Wickham, “Make Dealing with Dates a Little Easier,” An R package ‘Lubridate, 2021.
[14]
H. Wickham, Stringr: Simple, consistent wrappers for common string operations. R package version 1.4. 0. 2019.
[15]
H. Wickham, L. Henry, and RStudio, “Purrr: Functional Programming Tools.” Oct. 2023. Available: https://cran.r-project.org/web/packages/purrr/index.html
[16]
M. Kuhn, J. Wing, S. Weston, and A. Williams, “The caret package,” Gene Expr, 2007.
[17]
W. Chang et al., “Shiny: Web Application Framework for R.” Oct. 2023. Available: https://cran.r-project.org/web/packages/shiny/index.html
[18]
H. Wickham, J. Hester, W. Chang, J. Bryan, and RStudio, “Devtools: Tools to Make Developing R Packages Easier.” Nov. 2022. Available: https://cran.r-project.org/web/packages/devtools/index.html