2.3 Balíky
Všechny funkce, datové struktury, data i vše ostatní je v R organizováno do balíků. Základní balíky (base
, methods
, datasets
, utils
apod.) jsou přítomny v každé instalaci R a načtou se automaticky při jeho spuštění. Ostatní balíky je potřeba nainstalovat a před použitím načíst do paměti “ručně.”
Seznam balíků, které máte aktuálně nainstalované, můžete v RStudiu zobrazit v záložce Packages
. Balíky, které jsou aktuálně načtené do paměti, mají v seznamu zapnuté zaškrtávátko.
Pokud máte nějaký balík nainstalovaný, můžete jej začít používat. R však samo o sobě o objektech uložených v balících neví. Před jejich použitím je tedy třeba načíst balík do paměti (ve skutečnosti se načtou jen jména objektů v balíku do cesty, ve které R jednotlivé objekty hledá). K tomu slouží funkce library()
:
library(dplyr) # v závorce je jméno funkce
Data a funkce z balíku je možné využít i bez jeho načtení pomocí operátoru ::
, kterým se oddělí jméno balíku a jméno funkce. To se hodí zejména ve dvou situacích: 1) Při načtení nového balíku se někdy stane, že objekty z nově načteného balíku překryjí data a funkce z balíku, který jste načetli dříve. Dvojtečkový operátor vám umožní použít i tyto “překryté” objekty. 2) Někdy chcete použít jen jednu funkci a nechcete načítat celý balík. Pokud bychom tedy nenačetli balík dplyr, stále bychom mohli použít jednu z jeho funkcí takto:
::anti_join() # jméno_balíku::jméno_funkce() dplyr
Pokud ovšem máte balík načtený pomocí funkce library()
, můžete funkci zavolat jen jejím jménem bez jména balíku:
anti_join() # jméno funkce z načteného balíku
Pokud chcete pouzit jakykoli balik, musite jen nejdrive nainstalovat. Instalace baliku v R je snadna, protoze jejich valna vetsina je k dispozici v centralizovanych repositarich. Hlavnim repositarem je CRAN (https://cran.r-project.org/). V RStudiu nainstalujete balíky z CRANu tak, že v záložce Packages
kliknete 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 balíků slouží funkce install.packages()
.
Balíky se neustále vyvíjejí (většinou zlepšují) a obvykle je dobré mít instalovány poslední verze. K aktualizaci balíků nainstalovaných z CRANu slouží v RStudiu v záložce Packages
klikátko Update
.
Krome CRANu existuje i nekolik dalsich repositaru. Nejvyznamnejsim z nich je GitHub. GitHub (https://github.com/) obsahuje vyvojove verze baliku a nove baliky, ktere se dosud nedostaly na CRAN. Navod, jak instalovat baliky z GitHubu, najdete na https://goo.gl/ttEz9J.
Implicitně se balíky instalují do uživatelského adresáře. V tomto adresáři se vytvoří vždy nový podadresář pro každou novou verzi R. To je proto, že při větší aktualizaci R už nemusejí původní balíky fungovat a je třeba je znovu stáhnout nebo zkompilovat.
Pokud máte v cestě k do uživatelského adresáře umístěny znaky s diakritiku (např. proto, že jméno vašeho uživatelského je např. účtu Jiřík
), nebudou věci fungovat správně. Zejména vám nepůjdou spustit skripty (ani pomocí tlačítka Source
v RStudiu) a nepůjdou vám instalovat a načítat balíky. Problém se skripty vyřešíte snadno: vytvoříte někde adresář na práci a tam budete skladovat své skripty.
Problém s balíky vyřešíte tak, že si vytvoříte alternativní knihovnu. Knihovna je adresář, kde R instaluje a hledá balíky. Postup je následující:
Vytvořte si adresář, kam můžete zapisovat a který neobsahuje v cestě divné znaky, ve Windows např. adresář
C:/Rlibs
. Následně si ověřte, že je nastaven pro čtení i zápis.Ve svém domovském adresáři vytvořte soubor
.Rprofile
a zapište do něj.libPaths("C:/Rlibs")
. Všimněte si, že místo zpětných lomítek používáme v cestě obyčejná lomítka (jinak musíte zpětná lomítka zdvojit, tj. psát\\
). Pokud soubor neexistuje, stačí v R spustit následující řádek:writeLines('.libPaths("C:/Rlibs")', con = "~/.Rprofile")
Po restartu RStudia se budou balíky hledat v tomto adresáři. Při instalaci balíků klikněte na pulldown menu “Install to Library:” a vyberte tento adresář. RStudio by si jej mělo po první instalaci balíku do tohoto adresáře pamatovat jako defaultní volbu
V Linuxu se baliky pri instalaci kompiluji pro vas operacni system, zatimco ve Windows se stahuji uz zkompilovane. Pokud chcete mit moznost kompilovat baliky ze zdrojoveho kodu i ve Windows, musite nainstalovat RTools
. Stahnout si je muzete zde- https://cran.r-project.org/bin/windows/Rtools/. Po jejich instalaci je třeba přidat je do vyhledávací cesty. Návod je opět na této stránce stránce. Nejjednodušší způsob, jak to udělat, je zpsat cestu do souborou .Renviron
ve vašem domovském adresáři. Pokud tento soubor neexistuje, stačí v R spustit řádek:
writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")
Pokud jste si jistí, že nechcete balíky kompilovat, pak RTools v zásadě nepotřebujete. R však bude v takovém případě vypisovat následující varování:
WARNING: Rtools is required to build R packages but is not currently installed.
Please download and install the appropriate version of Rtools before proceeding:
http://cran.rstudio.com/bin/windows/Rtools/
V Linuxu jsou nástroje pro kompilaci balíků přítomné automaticky, takže žádné další kroky k instalaci RTools
nejsou potřeba.