
7. R paketai
Šio skyriaus medžiaga vis dar rengiama!
Dabartinė versija skirta tik peržiūrėjimui ir gali smarkiai keistis.
Įsivaizduokite, kad įsigijote naują mobilųjį telefoną (pav. 1.4). Kas jame įdiegta? Na, galima sakyti, kad jis yra „tuščias“: sistema, pvz., „Android“, tam, kad telefonas veiktų apskritai, bei kelios programėlės, kad galėtumėte paskambinti, parašyti žinutę ar aplankyti interneto tinklalapį. Ką darote? Ogi einate į svetainę, tokią kaip „Google Play“ (ar kitą priklausomai nuo kompanijos, pagaminusios telefoną), ir atsisiunčiate naujausias ir jums patogiausias programėles, taip išplėsdami savo išmaniojo įrenginio galimybes.
Panašiai yra ir su programa „R“. Pati programa turi tik bazines funkcijas, todėl užima gana nedaug vietos. Šių funkcijų gali ir užtekti. Visgi, kai kurie naudotojai nori labiau jų poreikiams pritaikytos programos. Turbūt nenustebsite, kad ekonomistams, psichologams, biologams ir kitų sričių specialistams reikalingi šiek tiek kitokie statistinės analizės aspektai. Dėl šių priežasčių programos „R“ galimybes galima smarkiai išplėsti papildiniais, kurie vadinami paketais (angl. packages). Tai tarsi programėlės mobiliojo telefono pavyzdyje.
Du svarbūs dalykai susiję su „R“ paketais yra diegimas (angl., installation) ir užkrovimas (angl., loading). Dabar juos apžvelgsime.
Įsidiegus „R“, šios programos funkcionalumas yra santykinai mažas. Įdiegiamas programos „variklis“ ir keletas pagrindinių paketų (base, stats, graphics, utils, datasets ir kt.), todėl programa užima ganėtinai mažai vietos. Analogija būtų – naujas išmanusis telefonas: jame yra tik keletas pagrindinių programėlių, skirtų palaikyti bazinį telefono funkcionalumą. Norėdami praplėsti telefono galimybes, parsisiunčiame gausybę programėlių („apps’ų“). Analogiškai yra ir su „R“, tik vienoje programėlių naudojami paketai.
„R“ paketas – tai standartizuotas „R“ funkcijų, duomenų, dokumentacijos, „RStudio“ papildinių ir susijusių dalykų rinkinys, skirtas praplėsti „R“ funkcionalumą ir patogus dalintis su kitais „R“ vartotojais. Susijęs terminas yra „R“ biblioteka – tai vieta kompiuteryje (aplankas), kurioje į kurią atsiunčiami ir kurioje yra laikomi paketai.
Norint naudoti funkcijas ar duomenis iš šių paketų, pirmiausia paketus reikia parsisiųsti (vieną kartą) ir užsikrauti (kiekvieną kartą perkrovus programą „R“).
Šio skyriaus tikslas – apžvelgti temas, kaip valdyti (įsidiegti, atnaujinti, pašalinti, užkrauti arba atjungti) programos „R“ paketus.
Informacijos anglų kalba apie „R“ paketų valdymą galite rasti straipsnyje „Installing and Using R Packages“ .
7.1 Paketų užkrovimas
Atidarius „R“, automatiškai užkraunami tik keli pagrindiniai paketai. Visus likusius užsikrauname, kai jų prireikia. (Juk ir įsijungę telefoną atsidarome ne visus „apps’us“ iš karto, o tik tuos, kuriuos tuo metu naudojame). Be to, paketus reikia užkrauti kiekvieną kartą iš naujo įjungus ar perkrovus „R“, nes kai programa išjungiama, išjungiami ir paketai. Paketus užkrauna komanda library()
, kurios skliaustuose rašomas dominančio paketo pavadinimas. Alternatyva (kurios nerekomenduoju) – funkcija require()
. Taip pat šiam tikslui skirtas „RStudio“ langas „Packages“.
7.2 RStudio langas Packages
Programa „RStudio“ turi paketų valdymui (parsisiuntimui iš saugyklos CRAN, užkrovimui, pašalinimui iš kompiuterio ir kt.) skirtą langą. Paketų valdymo principai naudojant programą „RStudio“ pateikti pav. 7.1.

Pav. 7.1: Paketų užkrovimas naudojantis „RStudio“. Paaiškinimai tekste.
Paveiksle 7.1 pateiktas pavyzdys, kaip naudojantis „RStudio“ surandamas ir užkraunamas paketas dplyr (A, B, C). Pirma, lango „Packages“ (A) paieškos laukelyje (B) surenkame visą ar dalį paketo pavadinimo. Paketų sąrašas susiaurėja. Sąraše rodomi paketų pavadinimai (pvz., dplyr), aprašymas ir versija (pvz., 0.7.3). Ties norimo paketo pavadinimu uždėję varnelę (C), paketą užkrauname (prijungiame) ir galime naudoti jo funkcijas. Šią varnelę nuėmę, paketą atjungiame ir jo funkcijų naudoti nebegalime. Paspaudus mygtuką, pažymėtą „D“, ištuštinamas paieškos laukelis (B). Paspaudus „Update“ (G) saugykloje „CRAN“ ieškoma, ar yra įdiegtų paketų atnaujinimų: jei yra, programa paklausia, kuriuos paketus norite atnaujinti. Jei paketą neseniai įdiegėme ar atnaujinome ir jo sąraše nesimato, sąrašą galime atnaujinti paspaudę mygtuką, pažymėtą „E“. Jei paspausime mygtuką ties „F“, tada paketas bus pašalintas iš kompiuterio visam laikui (na, iki tol, kol įdiegsime iš naujo).

Pav. 7.2: Paketų diegimas naudojant „RStudio“ langus bei programiškai. Iliustracijoje pateiktas „Hmisc“ diegimo pavyzdys.
Paveiksle 7.6 pateiktas pavyzdys, kaip įdiegti paketą ir saugyklos CRAN (apie ją rašoma 7.6.2 skyriuje). Diegimo metu kompiuteris turi turėti prieigą prie interneto. Programiškai įdiegiame naudodami funkciją install.packages()
, kurios skliaustuose viršutinėse kabutėse nurodome paketo pavadinimą. Diegdami per „RStudio“ lange „Packages“ (A) pasirenkame mygtuką „Install“ (B), atsidariusiame lange laukelyje (C) pradėjus rašyti paketo pavadinimą pasirodo galimų variantų sąrašas (D) iš kurio pele pasirenkame reikiamą variantą. Įsitikinę, kad varnelė (E) uždėta, paspaudžiame mygtuką „Install“. Paketas ir jo veikimui reikalingi kiti paketai parsiunčiami ir įdiegiami kompiuteryje. Jei norime atnaujinti bibliotekoje esančius paketus, spaudžiame mygtuką „Update“. Iškyla paketų, kurių versiją galima atnaujinti, sąrašas. Pasirenkame norimus paketus ir juos atnaujiname.
Šiame video epizode kartais terminas „biblioteka“ neteisingai vartojamas kaip termino „paketas“ sinonimas. Atsiprašau už šį netikslumą.
Užduotis 7.1 Naudodamiesi „RStudio“ langu „Packages“:
- Patikrinkite, ar užkrautas paketas base (jei teisingai ieškosite, paketas bus sąrašo apačioje).
- Patikrinkite, ar įdiegtas paketas tidyverse.
- Patikrinkite, ar įdiegtas paketas DescTools.
- Patikrinkite, ar įdiegtas paketas alibaba33.
7.3 Paketų užkrovimas programiškai
Jei norėsite naudoti funkciją ir pamatysite klaidos žinutę, kurios esmė yra ta, kad „R“ neranda funkcijos:
Error: could not find function
Vadinasi, didelė tikimybė, kad neužsikrovėte reikiamo paketo. Yra keli būdai, kaip naudoti funkciją, esančią tam tikrame pakete. Juos ir aptarsime.
7.3.1 Funkcijos library() ir require()
Parašius funkciją library()
(be jokių argumentų), atidaromas visų kompiuteryje esančių „R“ paketų sąrašas.
Paketus galima užkrauti naudojant arba library()
, arba require()
funkcijas, jų skliaustuose (kabutėse arba be jų) nurodant paketo pavadinimą, pvz.:
Pirmenybę teikite funkcijai library()
.
Koks skirtumas tarp šių dviejų komandų?
- jei paketo nurodytu pavadinimu jūsų kompiuteryje nėra, komanda
library()
rodo klaidą ir sustabdo programos kodo veikimą. Taip mes iš karto atkreipiame dėmesį, kurioje vietoje įvyko klaida. Todėl ši komanda labiau tinkama interaktyviam darbui:
library(neegzistuojantis_paketas)
## Error in library(neegzistuojantis_paketas): there is no package called 'neegzistuojantis_paketas'
- o komanda
require()
parašo žinutę (bet ne klaidą) ir nematomai sugeneruoja atsakymąFALSE
. Dėl šitos priežasties galime nepastebėti, kurioje vietoje įvyko tikroji klaida. Todėl šią komandą tinka naudoti kitų funkcijų viduje, jei patys norime parašyti klaidos žinutę:
atsakymas <- require(neegzistuojantis_paketas)
## Loading required package: neegzistuojantis_paketas
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'neegzistuojantis_paketas'
Pavyzdžiui:
if (require(neegzistuojantis_paketas)) {
message("Užkrautas `neegzistuojantis_paketas`")
} else {
message("\n\n `neegzistuojantis_paketas` NERASTAS! Įsidiekite jį! DABAR! ")
}
## Loading required package: neegzistuojantis_paketas
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'neegzistuojantis_paketas'
##
##
## `neegzistuojantis_paketas` NERASTAS! Įsidiekite jį! DABAR!
Visgi įprastai funkcijų library()
arba require()
naudojamas kitų funkcijų viduje įprastai nelaikomas gerai parašyto kodo požymiu.
7.3.2 Funkcijų naudojimas neužkrovus paketų
Norėdami naudoti funkciją neužkrovus paketo arba norėdami programai „R“ nurodyti, kad būtų naudojama funkcija iš konkretaus paketo, jei yra kelios vienodą pavadinimą turinčios funkcijos, naudosime operatorių ::
tokiu stiliumi: paketas::funkcija()
. Pvz., remotes::install_github()
.
7.3.3 Operatorius ::
Jei paketas jau yra įdiegtas jūsų kompiuteryje, funkciją iš to paketo galima iškviesti ir neužsikrovus paketo. Tam naudojamas operatorius ::
(du dvitaškiai iš eilės) ir sintaksę paketo_pavadinimas::funkcijos_pavadinimas()
. Šitoks užrašymas taip pat naudingas, jei keliuose užkrautuose paketuose yra funkcijos tuo pačiu pavadinimu. Tada galime būti tikri, kurio paketo funkcija naudojama:
Užduotis 7.2
- Įsitikinkite, kad paketas dplyr įdiegtas jūsų kompiuteryje. Jei neįdiegtas, tada įsidiekite (iš „CRAN“).
- Kaip neužsikrovę paketo dplyr galime panaudoti jame esančią funkciją
filter()
?- programos kodas:
filter(mtcars, cyl < 6)
; - modifikuokite programos kodą taip, kad funkcija
filter()
veiktų (paketo dplyr užsikrauti negalima, tačiau galima prirašyti tai, ko reikia); - jei įdomu: šis programos kodas palieka – išfiltruoja – tik tas duomenų lentelės „mtcars“ (motorinės mašinos) eilutes, kuriose kintamojo „cyl“ (cilindrų skaičiaus) reikšmė mažesnė už 6.
- programos kodas:
- Programiškai užkraukite paketą „dplyr“ ir naudodamiesi „RStudio“ langu „Packages“ įsitikinkite, kad papildinys užkrautas.
7.4 Paketų užkrovimo eiliškumas: kur R ieško objektų?
Paketų užkrovimo eiliškumas yra svarbus, jei keliuose paketuose yra vienodą pavadinimą turinčių funkcijų ar kitokių „R“ objektų.
7.4.1 Funkcija search()
Funkcija search()
parodo, kurie paketai yra užkrauti dabar, t. y., kuriuose paketuose „R“ ieško (nuo šio žodžio ir kilo funkcijos pavadinimas: search) jūsų parašytų funkcijų.
# Šiuo metu užkrautos bibliotekos
search()
## [1] ".GlobalEnv" "package:MASS" "package:lattice"
## [4] "package:stats" "package:graphics" "package:grDevices"
## [7] "package:utils" "package:datasets" "package:methods"
## [10] "Autoloads" "package:base"
Visada pirmiausia ieškoma darbinėje aplinkoje (žymimoje .GlobalEnv
, angl., global environment), o galiausiai baziniame „R“ pakete (žymimas package:base
). Tad jei funkcija tuo pačiu pavadinimu yra ir pakete base, ir knitr, ir darbinėje aplinkoje, tada bus panaudota ta funkcijos versija, kuri yra darbinėje aplinkoje.
Prijungus naują paketą, jis atsiranda antroje paieškos sąrašo vietoje (nes pirmoje visą laiką yra darbinė aplinka).
7.4.2 Pavyzdys
Perkraukime „R“ sesiją iš naujo (tarkim paspaudę Ctrl+Shift+F10). Tada parašius įvykdžius komandą library(tidyverse)
, „R“ užkrauna pagrindinius „Tidyverse“ šeimos paketus (apie tai plačiau rašoma skyriuje 8.2). Atspausdinamas pranešimas, kurio paskutinės eilutės bus maždaug tokios:
-- Conflicts ------------------------------------------ tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x dplyr::lag() masks stats::lag()
Matome, kad kelios funkcijos vienodais pavadinimais maskuoja viena kitą. Sakykime, mus domina funkcija filter()
.
Įvykdę komandą search()
, galime sužinoti, kur apskritai „R“ ieško funkcijų (ir kitų objektų) šiuo metu:
## [1] ".GlobalEnv" "package:forcats" "package:stringr" "package:dplyr"
## [5] "package:purrr" "package:readr" "package:tidyr" "package:tibble"
## [9] "package:ggplot2" "package:tidyverse" "tools:rstudio" "package:stats"
## [13] "package:graphics" "package:grDevices" "package:utils" "package:datasets"
## [17] "package:methods" "Autoloads" "package:base"
Darbinė aplinka .GlobalEnv
visada būna pirmoje paieškos sąrašo vietoje, tad čia ieškoma pirmiausia. Jei nerandama, tada ieškoma kitoje aplinkoje, šiame pavyzdyje tai paketas forcats. Paketas base – sąraše visąlaik paskutinis. Jei nerandama ir jame, tada „R“ konsolėje užrašoma klaidos žinutė, kad objektas nerastas.
Grįžkime prie funkcijos filter()
. Tiek pakete dplyr, tiek stats yra funkcija tokiu pavadinimu. Šiame pavyzdyje paketas dplyr yra ketvirtas eilėje, tad jame ieško anksčiau, o stats – dvyliktas. Tad užrašius filter()
, bus panaudota paketo dplyr funkcija.
Dar vienas greitas būdas sužinoti, kurio paketo funkcija yra naudojama – funkcijos pavadinimą parašyti be skliaustų. Tokiu atveju atspausdinamas funkcijos apibrėžimas bei kita „tarnybinė“ informacija. Pvz.:
## function (.data, ...)
## {
## UseMethod("filter")
## }
## <bytecode: 0x000000001353bc10>
## <environment: namespace:dplyr>
Paskutinė eilutė <environment: namespace:dplyr>
parodo, kad naudojama dplyr paketo funkcija.
Norint naudoti funkciją iš konkretaus paketo, galima naudoti ::
operatorių. Pvz., stats::filter()
.
7.5 Prieš diegiant ar atnaujinant paketus
Kai darbo su „R“ sesijos metu prireikia atsinaujinti ar įsidiegti naują paketą, tada įsitikinkite, kad programa „RStudio“ atidaryta tik vieną kartą, t. y., pažiūrėkite, ar vienu metu dirbate tik su vienu projektu. Kitu atveju papildomus projektus išjunkite apskritai. Toliau rekomenduojam laikinai uždaryti likusį projektą neišjungiant „RStudio“ (saugiausias būdas diegti paketus – tai daryti ne projekte) kaip vaizduojama pav. 6.16 arba bent jau perkrauti programą „R“ (pav. 7.3). Tik tada diegti paketą, pvz., tuo būdu, kaip vaizduojama pav. 7.6.

Pav. 7.3: Žingsniai, kaip perkrauti „R“ neišjungus „RStudio“.
7.6 Paketų diegimas
Jei paketo jūsų kompiuteryje nėra, tada jį reikia atsisiųsti ir įsidiegti. Šiame skyriuje būsite supažindinti su populiariausiomis „R“ paketų saugyklomis ir būdais, kaip iš jų parsisiųsti ir įsidiegti papildinius. Informacijos, kaip diegti „R“ paketus galite rasti priedo 3 skyriuje R paketų diegimas.
Diegimo metu kompiuteris turi turėti prieigą prie interneto.
7.6.1 R paketų saugyklos
Pirmą kartą įsidiegus „R“ ir „RStudio“, į kompiuterį įdiegiami tik keli baziniai paketai. Kai prireikia papildomų, juos reikia atsisiųsti atskirai. Kaip ir telefono programėles, paketus užtenka atsisiųsti vieną kartą (nebent norite atnaujinti).
Yra kelios pagrindinės „R“ paketų saugyklos:
- „CRAN“ (Comperhensive R Archive Network) – pagrindinė saugykla, kurioje esantys paketai turi atitikti tam tikrus kokybės standartus. Jose esančios paketų versijos yra stabilios. Iš čia parsisiuntėme „R“. Iš čia paketus siunčiamės dažniausiai.
- „Bioconductor“ – tai specializuota saugykla bioinformatikos analizei skirtiems „R“ paketams.
- „GtiHub“ saugyklos, kuriose galima rasti ne tik „R“, bet ir kitų programų papildinių. Čia įprastai saugomos vis dar kuriamos bei tobulinamos (angl. development) „R“ paketų versijos, tad jos įprastai yra naujesnės, nei „CRAN“’e. Bet nebūtinai stabilios (t. y., gali turėti dar neišspręstų problemų).
- Yra ir kitų saugyklų.
Yra keletas vietų (saugyklų), iš kur paketai gali būti atsiųsti. Dėl šios priežasties kiekvienai saugyklai turi būti naudojamas vis kitoks kodas.
7.6.2 Diegimas iš CRAN
Pagrindinė „R“ paketų saugykla yra „CRAN“ (angl., Comperhensive R Archive Network). Iš jos galima siųstis pavienius paketus arba paketus pagal temas naudojant įrankį CRAN Task Views (žr. skyrių 7.6.4). Funkcija, iš „CRAN“ parsiunčianti ir įdiegianti pavienius paketus yra install.packages()
. Jos skliaustuose kabutėse rašomas reikiamo paketo pavadinimas, pvz.:
Jei norime atsisiųsti kelis papildinius vienu metu, galime jų pavadinimus nurodyti naudodami funkciją c()
:
Jei diegimo metu programa užduos kokį nors klausimą ir lauks jūsų atsakymo (pvz., pav. 7.4), įveskite raidę „y“ (pvz., pav. 7.5), kas reiškia „yes“ (gali būti, kad bus užduoti 1 arba 2 tokie klausimai). Naujausia „R“ versija atidarys dialogo langą su analogiškais klausimais, kurioje reikės paspausti reikiamą mygtuką.

Pav. 7.4: Paketų „LiblineaR“ ir „seasonal“ diegimo metu programa „R“ konsolėje užduodamas klausimas, ar papildinius diegti iš pirminio programos kodo.

Pav. 7.5: Paketų diegimo metu programai „R“ konsolėje uždavus klausimą, pasirinktas atsakymas „y“ (trumpinys nuo „yes“), kas reiškia – „taip“. Pasirinkus „n“, atsakymas reikštų „ne“. Atsakymo įvedimui būtina paspausti „Enter“ klavišą.
Jei atsidarys lentelė, kurioje siūloma papildinius diegti į asmeninę biblioteką, – sutikite.
Diegiant paketus, bibliotekų pavadinimuose (t. y., aplankų pavadinimuose) gali būti skaičiai, angliškos abėcėlės raidės, tarpeliai, brūkšneliai ir kiti operacinės sistemos leidžiami skyrybos ženklai, tačiau privalo nebūti lietuviškų, rusiškų raidžių ar kitokių ne angliškų simbolių. Kitu atveju kils problemų ir gali nepavykti įsidiegti paketų.
Apie paketų diegimą iš „CRAN“ taip pat rašoma skyriuje „3.5 [R paketų diegimas]“.
7.6.3 Diegimas naudojant RStudio
Paveiksle 7.6 pateiktas pavyzdys, kaip įdiegti paketą iš saugyklos „CRAN“. Atkreipkite dėmesį į tai, kad naudojantis „RStudio“ langu „Packages“ galima įdiegti tik iš vienintelės saugyklos – „CRAN“.

Pav. 7.6: Paketų diegimas iš „CRAN“ naudojant „RStudio“ langus bei programiškai. Iliustracijoje pateiktas paketo „Hmisc“ diegimo pavyzdys. Paaiškinimai tekste.
Jei diegimui naudojame „RStudio“ galimybes, lange „Packages“ (A) pasirenkame mygtuką „Install“ (B). Iššokusio lango laukelyje (C) pradėjus rašyti paketo pavadinimą pasirodo galimų variantų sąrašas (D) iš kurio pele pasirenkame reikiamą variantą. (Jei sąrašas neatsiranda, tikriausiai kompiuteris neprijungtas prie interneto). Įsitikinę, kad varnelė (E) uždėta, paspaudžiame mygtuką „Install“ (F). Paketas ir jo veikimui reikalingi kiti paketai parsiunčiami ir įdiegiami kompiuteryje.
7.6.4 Diegimas iš CRAN pagal temas
Daugelis „CRAN“ paketų yra suskirstyti pagal temas, kurioms jie skirti. Šis temų sąrašas vadinamas „CRAN Task View“ (sutrumpintai ctv) ir gali būti rastas jam skirtame tinklapyje cran.r-project.org/web/views .
Norėdami įdiegti konkrečios temos papildinius, pirmiausia parsisiunčiame paketą ctv. Tada jį užkrauname naudodami komandą library("ctv")
. Toliau funkcijų update.views()
arba install.views()
skliaustuose įrašome mus dominančios temos iš CRAN Task Views sąrašo pavadinimą. Funkcija update.views()
pirma patikrina, ar kompiuteryje papildinys jau įdiegtas, ir diegia tik trūkstamus arba atnaujina pasenusius papildinius. Funkcija install.views()
tikrinimo neatlieka ir diegia visus tos temos papildinius iš naujo.
Pavyzdys:
Vienu metu diegiant daug „R“ paketų, procedūra gali užtrukti 40 min. ar net ilgiau, o patys papildiniai iš viso gali užimti 1-4GB vietos. Tad pagalvokite, ar tikrai verta diegti kiek galima daugiau paketų!
Užduotis 7.3
- Iš saugyklos CRAN programiškai įdiekite paketą magrittr.
- Po to naudodamiesi „RStudio“ langu „Packages“ įsitikinkite, kad paketas įdiegtas ir nurodykite jo versiją.
7.6.5 Diegimas iš Bioconductor
„Bioconductor“ yra specializuotų „R“ paketų, kurie iš esmės skirti bioinformacinei (genetinės, genominės ir pan.) informacijos analizei, saugykla. Kiekvieną kartą prieš diegiant paketą iš „Bioconductor“, reikia parsisiųsti diegimo funkciją biocLite()
:
Tada komanda biocLite()
(be jokių argumentų skliaustuose) įdiegs bazinius „Bioconductor“ paketus:
Norėdami įsidiegti konkrečius paketus, skliaustuose turite nurodyti jų pavadinimus, pvz.:
Daugiau informacijos tinklapyje www.bioconductor.org .
Užduotis 7.4
- Iš saugyklos „Bioconductor“ įdiekite paketą graph.
- Po to naudodamiesi „RStudio“ langu „Packages“ įsitikinkite, kad paketas įdiegtas, nurodykite jo versiją.
7.6.6 Diegimas iš GitHub
„GitHub“ yra interneto portalas, kuriame yra daugybė saugyklų. „GitHub“ nėra specializuotas programai „R“, todėl saugyklose galima rasti ir „R“ paketų, ir kitokio turinio. „R“ paketų saugyklose dažnai saugomi šiuo metu vis dar kuriami ir „CRAN“ saugykloje dar neišleisti papildiniai arba naujos (be nebūtinai stabilios) jų versijos.
Norėdami iš „GitHub“ atsisiųsti „R“ paketą, pirmiausia savo kompiuteryje turime būti įsidiegę bent vieną iš dviejų paketų – remotes arba devtools. Juos reikia įsidiegti tik vieną kartą:
Tada naudojame funkciją install_github()
, kuri yra tiek viename, tiek kitame pakete (pvz., remotes::install_github()
). Funkcijos skliaustuose nurodomas „GitHub“ vartotojo vardas („GitHub“ paskyros pavadinimas) ir saugyklos (t. y., paketo) pavadinimas tokiu formatu – "vartotojas/saugykla"
, pvz.:
Šis kodas iš vartotojo Rapporter „GitHub“ saugyklos pavadinimu „pander“ parsiunčia paketą pander.
Dar keletas pavyzdžių:
library("remotes")
install_github("r-lib/conflicted")
install_github("tidyverse/reprex")
install_github('rstudio/bookdown')
Seniau paketų atsiuntimui naudojamos funkcijos buvo pakete devtools. Tačiau kūrėjai jas perkėlė į remotes, o iš šio paketo importuoja į devtools. Tai reiškia, kad tiek naujoji komanda remotes::install_github()
, tiek senoji devtools::install_github()
veiks.
Daugiau informacijos apie funkciją rasite tinklalapiuose:
Užduotis 7.5
- Iš „GitHub“ saugykloje esančios paskyros „ropenscilabs“ parsisiųskite paketą icon;
- Naudodamiesi „RStudio“ langu „Packages“ įsitikinkite, kad paketas buvo įdiegtas. Nurodykite paketo versiją.
7.7 Paketų atnaujinimas
Jei norime atnaujinti seniau įdiegtus paketus, spaudžiame mygtuką „Update“. Iškyla paketų, kurių versiją galima atnaujinti, sąrašas. Pele uždėdami varneles pasirenkame norimus paketus ir juos atnaujiname.
Užduotis 7.6 Naudodamiesi „RStudio“ langu „Packages“:
- Patikrinkite, ar įdiegtas paketas tidyverse, jei ne įsidiekite jį. Įsidiegę – užsikraukite (pažymėkite varnelę ir palakite).
- Perkraukite programą „R“ neišjungdami „RStudio“.
- Įsidiekite ir užsikraukite paketą DescTools.
Atnaujinimas programiškai:
7.8 Paketų ištrynimas
Norėdami iš kompiuterio ištrinti paketą, naudojame komandą:
Skliaustuose kabutėse nurodome paketo pavadinimą.
7.9 Bibliotekos – aplankai su paketais
Labai dažnai painiojami 2 terminai: „paketas“ ir „biblioteka“.
„Paketas“ yra tam tikras standartizuotas programos papildinys, kuriame yra funkcijų, duomenų lentelių, mokomosios medžiagos ir kitokių programos R ar RStudio funkcionalumą padidinančių priedų rinkinys.
Terminas „biblioteka“ (angl. library) programos „R“ kontekste reiškia aplanką jūsų kompiuteryje, kuriame saugomi paketai.
Hadley Wickham (vienas iš žinomiausių ir įtakingiausių programos „R“ papildinių kūrėjų) yra pasakęs, kad „biblioteka“ yra kaip biblioteka, o „paketas“ kaip knyga: jūs nueinate į biblioteką tam, kad pasiimtumėte knygą.
Kodėl apie šios du terminus rašau? Ogi todėl, kad jei programa R parodys klaidą, skaitydami klaidos žinutę galėsite įvertinti, ar problemą sukėlė papildinys, aplankas ar kokia nors kita strigtis.
Labai dažnai painiojami du programos „R“ terminai: „paketas“ ir „biblioteka“.
„Paketas“ yra tam tikras standartizuotas programos papildinys, kuriame yra funkcijų, duomenų lentelių, mokomosios medžiagos ir kitokių programos „R“ ar „RStudio“ funkcionalumą padidinančių priedų rinkinys. Terminas „biblioteka“ (angl. library) programos „R“ kontekste reiškia aplanką jūsų kompiuteryje, kuriame saugomi paketai. Hadley Wickham (vienas iš žinomiausių ir įtakingiausių programos „R“ papildinių kūrėjų) yra pasakęs, kad „biblioteka“ yra kaip biblioteka, o „paketas“ kaip knyga: jūs nueinate į biblioteką tam, kad pasiimtumėte knygą.
Kodėl apie šios du terminus rašau? Ogi todėl, kad jei programa „R“ parodys klaidą, skaitydami klaidos žinutę galėsite įvertinti, ar problemą sukėlė papildinys, aplankas ar kokia nors kita strigtis.
Bibliotekas (t. y., aplankų pavadinimus), kuriose „R“ ieško įdiegtų paketų, galite sužinoti parašė komandą:
# Aplankų su paketais (bibliotekų) vieta kompiuteryje
.libPaths()
## [1] "D:/Dokumentai/R/win-library/4.0" "C:/Program Files/R/R-4.0.2/library"
Jūsų kompiuteryje bibliotekų pavadinimai bus kitokie.
Norėdami sužinoti, kuriame jūsų kompiuterio aplanke (viename ar keliuose) yra įdiegti „R“ paketai (t. y., kurie aplankai yra „R“ bibliotekos), naudojame funkciją .libPaths()
. Pavyzdys, kur yra mano kompiuterio bibliotekos.
# Aplankų su paketais (bibliotekų) vieta kompiuteryje
.libPaths()
## [1] "D:/Dokumentai/R/win-library/4.0" "C:/Program Files/R/R-4.0.2/library"
Šios funkcijos viduje parašę egzistuojančio aplanko pavadinimą, jį laikinai paversime biblioteka:
Tačiau perkrovus programą nustatymas bus atstatytas į numatytąją parinktį.
7.10 Plačiau apie paketus
Išsamesnė informacija apie „R“ paketus pradedantiesiems pateikta straipsnyje „R Packages: A Beginner’s Guide“ . Apie paketų kūrimą rašoma knygoje „R packages“ .