Az R használata. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar Utolsó módosítás: június 3.

Hasonló dokumentumok
Az R használata (tárgyalt R verzió: ) Jeszenszky Péter Debrecen Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.hu

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Java-s Nyomtatványkitöltő Program Súgó

Belföldi Termékosztályozás V

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

Operációs rendszerek gyak.

Angol szótár V

Adóhátralék kezelés egyszerűen. Telepítési útmutató. A program futtatásához Windows XP, Windows 7, 8 operációs rendszer szükséges.

Adatok importálása R-ben

FEOR szám kereső V

RapidMiner telepítés i. RapidMiner telepítés

AWK programozás, minták, vezérlési szerkezetek

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

TEÁOR kód Kereső - nyilvántartó program V

Adóhátralék kezelés egyszerűen. Használati útmutató

BASH script programozás II. Vezérlési szerkezetek

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Java-s Nyomtatványkitöltő Program Súgó

Szkriptnyelvek. 1. UNIX shell

Szolgáltatások jegyzéke 03 V

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

SZOLGÁLTATÓI NYILVÁNTARTÁSI RENDSZER FELHASZNÁLÓI KÉZIKÖNYV

Felhasználói kézikönyv - Android kliens

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

1. Alapok. #!/bin/bash

MÁV-START Tudáspróba Felhasználói kéziköny

TelepülésTár V

WIN-TAX programrendszer frissítése

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

A Zotero hivatkozáskezelő program bemutatása. Mátyás Melinda

Programozási nyelvek JAVA EA+GY 1. gyakolat

SDX Professional 1.0 Telepítési leírás

Hungaropharma Zrt. WEB Áruház felhasználói útmutató. Tartalomjegyzék

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

eszemélyi Kliens Szoftvercsomag

Pick Pack Pont kereső és boltválasztó alkalmazás

BaBér bérügyviteli rendszer telepítési segédlete év

A telepítési útmutató tartalma

Importálás. más típusú (pl:.imp,.xml,.xkr,.xcz) állomány beimportálása a nyomtatványkitöltő programba

KELER KID Internetwork System (KIS)

A legfontosabb DOS parancsok

telepítési útmutató K&H Bank Zrt.

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Savaria Egyetemi Könyvtár Katalógusa. Böngészés Keresés Találatok megjelenítése Adatbázis választás Olvasói tranzakciók

AWK programozás, minták, vezérlési szerkezetek

AWK programozás Bevezetés

Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43

TERC V.I.P. hardverkulcs regisztráció

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs Rendszerek II. labor. 2. alkalom

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Ubuntu Érettségi Remix Telepítési és beállítási leírás. Ágazati szakmai komplex távközlési ismeretek érettségihez

Operációs rendszerek gyakorlat

Sprint törzsadatok importja a CobraLight program adatbázisába

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

eszemélyi Kliens Szoftvercsomag

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

WebEC kliens számítógép telepítése és szükséges feltételek beállítása, az alábbi ellenőrző lista alapján történik.

Delphi programozás I.

Kézikönyv. Szelekciós operátorok használata

A számok kiíratásának formátuma

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Távolléti díj kezelése a Novitax programban

Java II. I A Java programozási nyelv alapelemei

ÜGYVÉDI IRODA Telepítési útmutató

Dropbox - online fájltárolás és megosztás

SuliStat felhasználói dokumentáció

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Minőségellenőrzési kérdőív kitöltő program Felhasználói kézikönyv

Szathmáry László Debreceni Egyetem Informatikai Kar

A C programozási nyelv I. Bevezetés

Készítette: Nagy Tibor István

E-Freight beállítási segédlet

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows7 operációs rendszer és Internet Explorer 8-es verziójú böngésző esetén

Hardver és szoftver követelmények

chmod umask chown, chgrp

Komputeralgebra Rendszerek

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

Az alábbiakban a portál felépítéséről, illetve az egyes lekérdező funkciókról kaphat részletes információkat.

KIRA. KIRA rendszer. Telepítési útmutató v1

Java programozási nyelv 6. rész Java a gyakorlatban

Technikai információk fejlesztőknek

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

WEBOPAC felhasználói leírás. 1. Keresés az adatbázisban. 2. A találatok megjelenítése

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

Csima Judit március 9. és 16.

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:

KÖNYVTÁRI KATALÓGUS HASZNÁLATI ÚTMUTATÓ

Használati utasítás.

Átírás:

Az R használata Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.hu Utolsó módosítás: 2019. június 3.

Futtatás Minden egyes feladathoz célszerű egy külön alkönyvtárat létrehozni és abban elindítani a programot. Kilépéskor automatikusan elmenthető ide a felhasználó munkaterülete. Így nem vész el az elvégzett munka, később bármikor ott folytatható, ahol kilépésnél abbahagytuk. A tipikus futtatás Linux környezetben: $ mkdir work # munkakönyvtár létrehozása $ cd work # belépés a munkakönyvtárba $ R # az R indítása 2

Inicializálás az R indításakor (1) Az inicializálás főbb lépései: 1.Felhasználói profil betöltése. 2.A előző munkamenet végén elmentett munkaterület betöltése. 3.A korábbi munkamenetekből származó parancs előzmények betöltése. Az inicializálás menetének részletes leírása megjeleníthető a?startup paranccsal. 3

Inicializálás az R indításakor (2) Felhasználói profil betöltése: A felhasználói profilt tartalmazó állományt alapértelmezésben az aktuális könyvtárban keresi a program.rprofile néven, ha ott nincs ilyen, akkor a felhasználó HOME könyvtárában. A felhasználói profil a source() függvénnyel kerül beolvasásra és végrehajtásra. R kódot tartalmaz, tipikusan beállításokat. 4

Inicializálás az R indításakor (3) Felhasználói profil betöltése (folytatás): Példa felhasználói profilra (Linux): options(browser="/usr/bin/firefox") options(editor="/usr/bin/gedit") options(digits=5, help.try.all.packages=true, help_type="html").first <- function() { cat("\nwelcome, ", Sys.getenv("LOGNAME"), "!\n", sep="") } 5

Inicializálás az R indításakor (4) A előző munkamenet végén elmentett munkaterület betöltése: Ha az aktuális könyvtár tartalmaz egy.rdata nevű állományt, akkor ennek beolvasása a load() függvénnyel. Az állomány tipikusan egy korábbi R munkamenet végén, a kilépésnél automatikusan kerül létrehozásra és a felhasználó által a munkamenet során létrehozott objektumokat tárolja. 6

Inicializálás az R indításakor (5) A korábbi munkamenetekből származó parancs előzmények betöltése: Az előzményeket, azaz egy korábbi munkamenet során végrehajtott parancsokat tartalmazó állomány betöltése, ha van ilyen. Alapértelmezésben az aktuális könyvtárban keresi a program az állományt.rhistory néven. 7

Kilépés (1) Kilépéshez használjuk a quit() vagy q() függvényhívásokat. A platformtól és a grafikus felhasználói interfésztől is függhet, hogy pontosan mi történik egy munkamenet befejeződésekor. Használjuk a?quit parancsot részletes leírás megjelenítéséhez. 8

Kilépés (2) A program rá fog kérdezni, hogy elmentse-e a felhasználó munkaterületét, mely a munkamenet során a felhasználó által létrehozott objektumokat tárolja. Igen válasz esetén a save.image() függvénnyel az aktuális könyvtárba.rdata néven kerül elmentésre a munkaterület. Az.RData állományt tartalmazó könyvtárból elindítva újra a programot automatikusan beolvasásra kerül az inicializálás során az állomány, így ott folytathatjuk a munkát, ahol az előző kilépésnél abbahagytuk. 9

Interaktív parancsvégrehajtás (1) Vegyük figyelembe, hogy az R megkülönbözteti a kis- és nagybetűket! Egy sorba akár több parancsot is gépelhetünk ';' karakterekkel elválasztva. Parancs gépelése közben a parancsot alkotó tokenek között elhelyezhető új sor karakter, így a parancs több sorba tördelhető. A végrehajtás a teljes parancs beolvasása után történik csak meg. 10

Interaktív parancsvégrehajtás (2) A konzolon begépelt parancsok maximális hossza 4095 byte lehet (nem karakter!). A legtöbb platformon a lefelé és felfelé nyíl billentyűkkel lehet a korábban végrehajtott parancsokat visszahívni. Rendelkezésre állhat automatikus parancskiegészítés funkció is, melyet a TAB billentyűvel lehet elérni. 11

Állományokban tárolt R kód végrehajtása Állományokban tárolt R kód beolvasásához és végrehajtásához használjuk a source(file) függvényhívást. Nem csupán állománynév adható meg, hanem akár URI is (http, https, ftp és file URI-k támogatottak). Ha az R kód szintaktikai hibá(ka)t tartalmaz, akkor egyáltalán nem történik végrehajtás. A végrehajtás során nem jelenik meg a kiértékelt kifejezések értéke, ezért a kódban megfelelően gondoskodjunk a megjelenítésről. Ha megadjuk a chdir=true argumentumot, akkor állomány elérési útvonal használata esetén a végrehajtás során ideiglenesen az állományt tartalmazó könyvtár lesz az aktuális könyvtár. Van néhány további hasznos argumentum, ezeket lásd a dokumentációban. 12

Dokumentáció (1) Az Rd ( R documentation ) az R saját dokumentációs formátuma. Egy egyszerű, a LaTeX-hez hasonló jelölőnyelv. Az ebben megírt dokumentációt több különböző formátumba lehet alakítani (LaTeX, HTML, sima szöveg). Az R disztribúció több mint 1300 ilyen dokumentációs állományt tartalmaz. Az Rd állományok feldolgozásával kapcsolatos dokumentáció megjelenítéséhez használjuk a?rdconv parancsot. 13

Dokumentáció (2) A csomagok dokumentációját ugyan tipikusan Rd formátumban írják, de tetszőleges egyéb dokumentációs formátum is használható. Ajánlott a platformfüggetlen PDF formátum használata. Egy speciális dokumentációs forma a vignetta. A vignetták olyan PDF vagy HTML dokumentumok, melyek szöveget és R kódot vegyesen tartalmazó sima szöveges állományokból kerülnek létrehozásra. Vignetta motorok állítják elő őket, az alapértelmezésben használt motor az Sweave. 14

Segítség A dokumentáció eléréséhez, kereséséhez az alábbi függvényeket használhatjuk: help() help.start() help.search() browsevignettes() vignette() RsiteSearch() További információk: https://www.r-project.org/help.html 15

A help függvény (1) A súgó oldalak help(téma) függvényhívásokkal érhető el. A téma argumentum lehet azonosító és karakterlánc is. Operátorokat, függvényekhez és vezérlési szerkezetekhez kapcsolódó kulcsszavakat (break, else, for, function, if, in, next, repeat, while) karakterláncként kell megadni. Vannak további argumentumok is, ezeket lásd a dokumentációban. 16

A help függvény (2) A help_type argumentumban lehet megadni a dokumentáció megjelenítési formátumát. A lehetséges értékek "text", "html" és "pdf". Az utóbbi esetén egy PDF állomány jön létre az állományrendszerben, melynek előállításához szükséges a pdflatex parancs rendelkezésre állása. 17

A help függvény (3) A témához tartozó súgó oldalak keresése alapértelmezésben a keresési útvonalban lévő (betöltött) csomagokban történik. Megadható a package argumentum értékeként egy csomagnév, mint azonosító vagy egy csomagneveket tartalmazó karakter vektor. Így az adott csomag(ok)ra korlátozható a keresés. 18

A help függvény (4) Ha megadjuk a try.all.packages=true argumentumot, de nem adjuk meg a keresést az adott csomagokra korlátozó package argumentumot, akkor az összes telepített és rendelkezésre álló csomagban történik keresés, ha a keresési útvonalban lévő csomagoknál sikertelen volt. Az így megtalált súgó oldalak nem kerülnek megjelenítésre, csupán az jelenik meg, hogy mely csomagokban talált a program a témához súgó oldalakat. 19

A help függvény (5) A help(téma) függvényhívás helyett használható a?téma rövid alak. Hasonlóan használható a help(téma,csomag) függvényhívás helyett a?csomag::téma rövid alak. Ilyenkor csomag csak karakterlánc vagy azonosító lehet. 20

A help függvény (5) Példák a függvény használatára: help("if")?"if" help() help(source)?source help(package="e1071") help(permutations, "e1071")?e1071::permutations help(svm, try.all.packages=true) 21

A help.start függvény A help.start() függvényhívással érhetjük el a dokumentációt HTML-ben. Hatására egy olyan oldal jelenik meg egy böngészőablakban, ahonnan elérhető többek között valamennyi R kézikönyv és egy keresőmotor a dokumentáció kereséséhez. A használt böngésző megadható a browser opcióval. 22

A help.search függvény (1) A help.search(minta) függvényhívással kereshető a dokumentáció. A minta argumentum kötelezően egy karakterlánc. A további argumentumokat lásd a dokumentációban. A keresés alapértelmezésben az összes telepített és rendelkezésre álló csomagban történik. A keresés az dokumentációs oldalak különböző metaadat mezőiben történhet (például állománynév, cím, kulcsszavak). A kis- és nagybetűk alapértelmezésben nincsenek megkülönböztetve a keresésnél. A keresés során fuzzy mintaillesztés vagy reguláris kifejezés illesztés történik. A keresés eredményeként a dokumentációs oldalak neve és címe jelenik meg. 23

A help.search függvény (2) A help.search(minta) függvényhívás helyett használható a??minta rövid alak. Hasonlóan használható a help.search(minta,package=csomag) függvényhívás helyett a??csomag::minta rövid alak. Ilyenkor csomag csak karakterlánc vagy azonosító lehet. 24

A help.search függvény (3) Példák a függvény használatára: help.search("normal distribution") help.search(keyword="optimize") help.search(keyword="io") help.search("^read", fields="name", ignore.case=false) 25

A help.search függvény (4) Az RStudio-ban az R 3.6.0 verzió használata esetén jelenleg nem működik a help.search() függvény. Lásd: https://github.com/rstudio/rstudio/issues/4819 A hiba kijavításáig az RStudio-ban használjuk a Help panel keresőmezőjét a dokumentáció kereséséhez. 26

A vignette függvény (1) A vignette(téma) függvényhívással lehet megjeleníteni az adott vignettát. A téma argumentum egy karakterlánc lehet, ez a vignetta lesz megjelenítve. A package argumentum értéke egy olyan karakter vektor lehet, melyben felsoroljuk azoknak a csomagoknak a nevét, melyekben a vignetták keresése történik. Alapértelmezésben az összes telepített csomagban történik a keresés. A függvényt meghívhatjuk argumentum nélkül is, ekkor a rendelkezésre álló vignettákat listázza. 27

A vignette függvény (2) Példák a függvény használatára: vignette() vignette(package="data.table") vignette("datatable-intro") v <- vignette("datatable-intro") edit(v) 28

A browsevignettes függvény A browsevignettes() függvényhívás a rendelkezésre álló vignetták listáját jeleníti meg egy böngészőablakban. 29

Az RsiteSearch függvény (1) Az RSiteSearch(x) függvényhívással a http://search.r-project.org/ címen működő keresőmotort érhetjük el. Argumentumként egy karakterláncban adhatjuk meg a keresendő kifejezés(eke)t. Ha egy több szóból álló kifejezésre akarunk pontosan keresni, akkor azt '{' és '}' karakterek között adjuk meg a karakterláncban. Vannak további argumentumok, ezeket lásd a dokumentációban. A keresés a nézetekben, súgó oldalakban és vignettákban történhet. A találatok egy böngészőablakban jelennek meg. 30

Az RsiteSearch függvény (2) Példák a függvény használatára: RSiteSearch("eigenvalue or eigenvector") RSiteSearch("{hidden Markov model}") 31

Az example függvény Az example(téma) függvényhívással lehet végrehajtani a help(téma) módon elérhető dokumentációs oldalak Examples: cím alatt feltüntetett R kódjait. Ezek a függvények használatára adnak példákat. Az úgynevezett dontrun részek nem kerülnek végrehajtásra, melyeket a dokumentációban "## Not run:" szöveg jelez. A kód végrehajtása alapértelmezésben a felhasználó munkaterületén történik, így a végrehajtás során létrehozott objektumok a végrehajtás után is rendelkezésre állnak. Ez felülbírálható a local=true argumentum megadásával. 32

Feladatok Hogyan generálhatók permutációk? Hogyan generálható Poisson-eloszlásból származó minta? Hogyan végezhető főkomponens-analízis? 33

Csomagok keresése Csomagok keresésére szolgál a pkgsearch csomag. Példa a csomag használatára: library(pkgsearch) ps("reshape") ps() # az előbbi találatok részletesebb leírása ps("gaussian") # az első 10 találat more() # a következő 10 találat more() # a következő 10 találat 34

Csomagok telepítésének helye (1) A.Library globális változó értéke egy karakterlánc, mely annak a könyvtárnak az elérési útvonalát tartalmazza, amelyben alapértelmezésben történik a csomagok keresése. Tipikusan rendszergazdai jogosultság birtokában lehet csupán ebbe a könyvtárba csomagokat telepíteni. Csomagok telepítése történhet az állományrendszerben ettől eltérő tetszőleges olyan könyvtár(ak)ba, mely(ek)re a felhasználó az ehhez szükséges jogosultságokkal rendelkezik. Megfelelő beállítás szükséges ahhoz, hogy ezekben a könyvtárakban is történjen a csomagok keresése (lásd a.libpaths() függvényél leírtakat). 35

Csomagok telepítésének helye (2) A.libPaths(x) függvényhívás használható a telepített csomagokat tartalmazó könyvtárak megadására. Az argumentum egy könyvtár elérési útvonalakat tartalmazó karakter vektor lehet, mely azt adja meg, hogy a továbbiakban az alapértelmezett hely mellett mely könyvtárakban történjen még a csomagok keresése. A függvény meghívható argumentum nélkül is, ekkor egy karakter vektorban adja vissza azoknak a könyvtáraknak az elérési útvonalait, melyekben történik a csomagok keresése. 36

Csomagok telepítése (1) Az install.packages(csomagok) függvénnyhívással lehet csomagokat telepíteni. A telepítés történhet tárolókból vagy lokális állományokból. Az argumentum a telepítendő csomagok neveit/állomány elérési útvonalait tartalmazó karakter vektor. Vannak további argumentumok is, ezeket lásd a dokumentációban! Grafikus felhasználói felület rendelkezésre állása esetén a függvényt argumentum nélkül is meghívhatjuk, ekkor egy listából interaktív módon lehet kiválasztani a telepítendő csomagokat. 37

Csomagok telepítése (2) A telepítés alapértelmezésben egy olyan könyvtárba történik, melynek írásához tipikusan rendszergazdai jogosultság szükséges. Ez felülbírálható a lib argumentum megadásával, melynek értéke egy könyvtár elérési útvonalat tartalmazó karakterlánc lehet. Szükség esetén a függvény interaktív módon ajánlja fel egy alkalmas célkönyvtár létrehozását a felhasználó HOME könyvtárában. 38

Csomagok telepítése (3) A függvény automatikusan letölti a csomagok telepítéséhez szükséges további csomagokat. Az install.packages() függvényhívás előtt érdemes az update.packages() függvényhívással frissíteni a telepített csomagokat. Ez biztosítja, hogy a szükséges függőségek a legfrissebb verzióban álljanak rendelkezésre. 39

Csomagok telepítése (4) További függvények csomagok kezeléséhez: installed.packages(): a lokálisan telepített csomagokat szolgáltatja. available.packages(): az elérhető telepíthető csomagokat szolgáltatja. old.packages(): azokat a csomagokat szolgáltatja, melyeknek újabb verziója érhető el a lokálisan telepítettnél. new.packages(): az elavult és az elérhető, de lokálisan nem telepített csomagokat szolgáltatja. update.packages(): a lokálisan telepített csomagokat frissíti az elérhető legfrissebb verzióra. 40

Csomagok telepítése (5) Nézetek telepítésére szolgál a ctv csomag, melynek főbb függvényei: available.views(): a rendelkezésre álló nézeteket listázza. install.views(): az adott nézetbe tartozó csomagokat telepíti. Például az install.views("machinelearning") függvényhívás a gépi tanuláshoz kötődő csomagokat telepíti. 41

Csomagok telepítése (6) Csomagok telepítése adott tároló(k)ból: A rendelkezésre álló csomagokat listázó, telepítő és frissítő függvényeknek a repos argumentumban adható(k) meg a használandó tároló(k) URL-je(i). Használható a repos nevű globális opció is. Példa: a Microsoft CRAN tárolójának használata (hasznos lehet tűzfal mögött) install.packages(csomagok, repos = "https://cran.microsoft.com/") install.packages(csomagok, repos = "https://cran.microsoft.com/snapshot/éééé-hh-nn") 42

Csomagok betöltése (1) Csomagok betöltésére szolgálnak a library(csomag) és require(csomag) függvényhívások. Az argumentum a csomag nevét megadó azonosító vagy karakterlánc. Az elsőt tipikusan interaktív parancsvégrehajtásnál, a másodikat pedig függvények törzsében használjuk. 43

Csomagok betöltése (2) A library függvény: Meghívható argumentum nélkül, ilyenkor a telepített csomagokat listázza. Meghívható library(help=csomag) módon, ahol csomag a csomag nevét megadó azonosító vagy karakterlánc. Ilyenkor a csomagról szolgáltat információkat (metaadatok, tartalom). A lib.loc argumentum értéke egy könyvtár elérési útvonalakat tartalmazó karakter vektor lehet. Az adott könyvtárakban történik a csomag keresése. Lásd a.libpaths() függvénynél leírtakat. 44

Csomagok betöltése (3) A require függvény: Logikai visszatérési értékű. A visszaadott érték TRUE akkor, ha az argumentumként adott csomag lokálisan elérhető, egyébként pedig FALSE. Nem telepített csomag megadása a library() függvénytől eltérően nem okoz hibát, csak figyelmeztetést. A lib.loc argumentum ugyanúgy használható, mint a library() függvénynél. 45

Csomagok leválasztása Betöltött csomagok leválasztásához használjuk a detach(x) függvényhívást. Az argumentumot package:név vagy "package:név" módon adhatjuk meg, ahol név a leválasztandó csomag neve. 46

Csomagok használata Példa: p <- available.packages() invisible(edit(p)) install.packages("fortunes", lib="/tmp") library(help="fortunes", lib.loc="/tmp") library(fortunes, lib.loc="/tmp") fortune() #... detach("package:fortunes").libpaths().libpaths("/tmp").libpaths() library(fortunes) fortune() remove.packages("fortunes", "/tmp") 47

Opciók (1) Az R globális beállításai. A használható opciókat megtaláljuk az?options paranccsal megjeleníthető súgó oldalon. Opciók kezelésére szolgálnak az options() és getoptions() függvények. 48

Opciók (2) Az options(...) függvényhívás segítségével lehet lekérdezni és beállítani az opciókat. A függvény meghívható argumentum nélkül, ekkor az összes beállított opciót adja vissza egy listában. A listában az opciók név szerint ábécé sorrendbe rendezettek. Opciók beállításához tetszőleges számú név = érték alakú kifejezést adhatunk meg argumentumként, vagy pedig egy ilyen komponensekből álló listát. név az opció nevét megadó azonosító vagy karakterlánc. Tetszőleges név megadható, hatása csak az R által kezelteknek lesz. érték az opciót értéket szolgáltató kifejezés. Az R által kezelt opciók értékére ellenőrzés történhet (nem megengedett érték hibát okoz). 49

Opciók (3) A getoption(opció) függvényhívás az argumentumként adott nevű opció értékét szolgáltatja. Az argumentum kötelezően egy karakterlánc. Be nem állított opció esetén NULL a visszaadott érték. 50

Opciók (4) Példa opciók használatára: options() getoption("digits") options(digits=getoption("digits") + 1) oldoptions <- options() options(help.try.all.packages=true, verbose=true) options(editor="/usr/bin/nano") options(pdfviewer="/usr/bin/evince") #... options(oldoptions) # a korábbi beállítások # visszaállítása 51

Aktuális könyvtár Az aktuális könyvtár lekérdezéséhez használjuk a getwd() függvényhívást. A visszatérési érték az aktuális könyvtár elérési útvonalát tartalmazó karakterlánc, illetve NULL akkor, ha nem áll rendelkezésre az aktuális könyvtár. Az aktuális könyvtárat a setwd(könyvtár) függvényhívással lehet beállítani. Az argumentum értékeként az elérési útvonalat tartalmazó karakterláncot kell megadni. 52