2.3 Knihovny

Všechny funkce, datové struktury, data i vše ostatní je v R organizováno do knihoven. Základní knihovny (base, methods, datasets, utils apod.) jsou přítomny v každé instalaci R a se načtou automaticky při jeho spuštění. Ostatní knihovny je potřeba nainstalovat a před použitím načíst do paměti.

2.3.1 Instalace a aktualizace knihoven

Seznam knihoven, které máte aktuálně nainstalované a načtené do paměti můžete v RStudiu zobrazit v záložce Packages (nahrané balíky mají zapnuté zaškrtávátko).

Většina balíků v R je k dispozici v centralizovaných repositářích. Hlavním repositářem je CRAN (https://cran.r-project.org/). Instalace balíků z CRANu je jednoduchá. V RStudiu stačí v záložce Packages kliknout na tlačítko Install. (Při první instalaci je třeba nastavit adresu zrcadla CRANu, ze kterého se budou balíky stahovat. Doporučuji použít zrcadlo Global CDN RStudio.) K ruční instalaci knihoven slouží funkce install.packages().

Knihovny se vyvíjejí (většinou zlepšují) a obvykle je dobré mít instalovány poslední verze. K aktualizaci balíků slouží v RStudiu v záložce Packages klikátko Update. To však funguje jen pro knihovny nainstalované z CRANu.

Kromě CRANu existují i dva další velké centrální repositáře knihoven:

Návod, jak instalovat knihovny z GitHubu, je zde: http://blog.numbersinlife.com/2012/12/installing-r-packages-from-github.html.

Poznámka: Knihovny se mohou instalovat bud do systémové části, nebo do uživatelského adresáře. Nevýhodou instalace do uživatelského adresáře je, že po přechodu na novou verzi R musíte své balíky nainstalovat znovu, protože se adresář s balíky zahrnuje v cestě i verzi R. (RStudio navíc zobrazuje zvlášť seznam balíků instalovaných v systémové a v uživatelské části.)

Existuje několik řešení:

  1. V Linuxu můžete instalovat knihovny i do systémové části. K tomu stačí změnit přístupová práva příslušného adresáře (v Ubuntu při instalaci z CRANu /usr/local/lib/R/site-library) na a+w.

  2. Ve Windows i v Linuxu můžete nastavit alternativní cestu k uživatelsky instalovaným balíkům (což se hodí i v případě, že standardní cesta nefunguje kvůli tomu, že obsahuje mezery, háčky a čárky). Postup je následující: 1) vytvoříte vhodný adresář (ve Windows např. C:\my_R_packages), kam můžete zapisovat; 2) do příslušného konfiguračního souboru přidáte na konec řádek

.libPaths(c("C:/my_R_packages"))

Pozor: místo zpětných lomítek používejte obyčejná lomítka (jinak musíte zpětná lomítka zdvojit, tj. psát \\). Můžete použít buď systémový konfigurační soubor Rprofile.site (při standardní instalaci je ve Windows umístěn v adresáři C:\Program Files\R\R-X.X.X\etc, kde X.X.X je číslo verze R, v Linuxu v adresáři /usr/lib/R/etc/Rprofile.site), nebo osobní konfigurační soubor .Rprofile. K zápisu do systémového konfiguračního souboru potřebujete administrátorská práva.

Umístění nově instalovaných balíků pak můžete nastavit v RStudiu i ve funkci install.packages() (tam pomocí parametru lib = "C:/my_R_packages").

2.3.2 Použití knihoven

Pokud máte nějakou knihovnu nainstalovanou, můžete ji začít používat. R však samo o sobě o objektech uložených v knihovnách neví. Před jejich použitím je třeba načíst balík do paměti (ve skutečnosti se jen načtou jména objektů v balíku do hledací cesty). K tomu slouží funkce library():

library(dplyr)   # v závorce je jméno funkce

Při natažení nové knihovny se někdy stane, že nový balík překryje jméno funkce, která byla načtena v knihovně načtené dříve (R o tom vydá varování). I k překryté funkci je možné se dostat přímým voláním funkce, které má následující tvar:

dplyr::anti_join() # před dvojtečkami je jméno knihovny, za nimi jméno funkce

Stejným způsobem je možné volat i funkce z balíků, které nebyly načtené pomocí funkce library().