Skip to content

Instantly share code, notes, and snippets.

@cant0r
Last active October 16, 2019 19:38
Show Gist options
  • Save cant0r/66066121fc5e47331b84fd949f2e3aec to your computer and use it in GitHub Desktop.
Save cant0r/66066121fc5e47331b84fd949f2e3aec to your computer and use it in GitHub Desktop.
HW

Használati útmutató: rmarkdown

w0w dud3

R Markdown dokumentumok

Az R Markdown egy markdown "dialektus"/formátum aminek fordításával dinamikus dokumentumokat hozhatunk létre, azaz a fájl fordításakor tartalommal bővülhet a dokumentum. R Markdown esetében ez annyit jelent, hogy beilleszett programkódok futtatásra fognak kerülni, majd kimenetük a dokumentumba lesz illesztve. How it works?

Hogyan készíthetsz R Markdown dokumentumokat?

Az dokumentumok megírásához természetes szükség van egy szövegszerkesztőre vagy használható az R hivatalos integrált fejlesztői környezete: az RStudio

Az RStudio eszközt könnyen telepíthetjük kedvenc GNU/Linux rendszerünk csomagkezelőjével. Például Arch Linux alatt az AUR repository-ból telepíthetjük választott AUR helper-ünk használatával:

sudo yay -S rstudio-desktop-bin

Én a Kate vagy a Visual Studio Code szerkesztőket használom (R )Markdown írására.

Amennyiben nem rendelkezünk rendszergazdai jogokkal munkaállomásunk felett, fel kell keresnünk az említett project oldalait, majd ott kell közvetlenül letöltenünk őket, viszont annak esélye, hogy nem biztosított a rendszergazda nekünk szövegszerkesztési funkcionalitás nagyon alacsony.

Minden GNU/Linux, BSD munkaállomás rendelkezik legalább egy vi szövegszerkesztővel. :)

A fordításhoz szükséges csomagok feltelepítésének menete:

Az útmutató feltételezi, hogy a user nem rendelkezik olyan jogokkal, hogy használni tudja munkagépén található csomagkezelő megoldásokat, tehát telepíteni kell egy olyan csomagkezelőt amely minimális mozgástérrel megelégszik a fájlrendszeren belül. Ez most a Miniconda csomagkezelő lesz.

Látogassunk el (mini)conda project weboldalára majd válasszuk ki a rendszerünknek megfelelő csomagot, akár parancssoros környezetből is letölthetjük:

Például 64 bites GNU/Linux rendszerek esetében:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

..vagy

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

...vagy

http -d https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

nice emulator dude

Miután beszereztük, telepítsük fel a csomagkezelőt:

bash Minicon*.sh

nice emulator dude

Megjegyzés: Ahhoz, hogy a $PATH tartalmazza a conda binárisok könyvtárát nem kell kézileg exportálni újra, elég csak új, itt bash, session-t indítanunk.

Telepítés után pedig további telepítéseket kell elvégeznünk, hogy R Markdown dokumentumokat tudjunk használni.

Az alapvető funkcionalitáshoz telepítenünk kell az r rendszert/környezetet, rmarkdown R csomagot és a pandoc programot is, Conda-val ez a következőképpen tehetjük meg:

conda install r r-rmarkdown pandoc

A fenti parancs (a Conda táraiban) a legfrissebb r,r-rmarkdown és pandoc csomagokat telepíti fel, ha régebbi csomagokat szeretnénk kiválasztani telepítésre akkor előbb érdemes rákeresni a csomagokra, mivel az output tartalmazni fogja az elérhető verziókat a megtalált csomagokból.
Például r-rmarkdown csomag esetében:

conda search r-rmarkdown

A kivánt verziót kiválasztva

conda install r-rmarkdown=1.12

Végül fordíthatjuk dokumentumainkat akár az R rendszerből közvetlenül a rmarkdown::render(<pathToRmd>) kiadásával, vagy R-n "kívül":

Rscript -e "rmarkdown::render(\"<pathToRmd>\")"

Megadhatunk abszolút vagy relatív utakat is, relatív út például:

Rscript -e "rmarkdown::render(\"mezgageza.Rmd\")"

Ha dokumentum "rmarkdown tesztelése" részben leírtakat ki szeretnénk próbálni akkor:

De hogy ne kelljen vágólapozgatni minden egyes csomag esetében:

conda install -c conda-forge make pandoc wordcloud urllib3 matplotlib r r-ggplot2 r-hrbrthemes r-rmarkdown r-reticulate r-tinytex

Fontos:

A Conda-val feltelepített környezet eléréshez lehet szükségünk van kiadni a bash parancsot jelenlegi munkamenetünk közben. Ennek szükségét a shrek.unideb.hu szerveren dolgozva tapasztaltam.

rmarkdown letesztelése

Írjunk vagy töltsünk le valahonnan egy szintaktikailag helyes .Rmd fájlt.

Leggyorsabban, git kliens megléte mellett, klónozzuk le ezt a repository-t:

git clone https://github.com/jeszy75/markdown-examples.git

Majd lépjünk be az rmarkdown mappába ahol megtalálhatjuk a tesztállományt.

have a nice trip dude

A repo szerencsére biztosított nekünk egy Makefile-t így nem kell bíbelődnünk a fordítással csak adjuk ki a make parancsot.

Ha minden jól ment akkor meg kell jelennie ennek a sornak:

Output created: rmarkdown-example.html

Az eredmény megnézhetjük webböngészőben.

have a nice trip dude

Ahhoz, hogy az .Rmd fájlokból PDF dokumentumokat állítsunk elő szükségünk van egy TeX kiadás telepítésére. Amennyiben a csomagok feltelepítésére felhasználtuk a mellékelt parancsot, akkor már telepítve van egy TeX rendszer(r-tinytex R csomag által).

Természetesen át kell írnunk az .Rmd fájlt (és a Makefile-t is, ha szeretnénk pdf outputra felhasználni):

Az output résznél minimum következőnek kell állnia:

output:
  pdf_document:
    toc: true
    number_sections: true

Ha a Makefile újra felszeretnénk használni akkor csak a ".html" karakterláncokat kell átírnunk ".pdf"-re.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment