class: center, middle, inverse, title-slide # Prezentace výsledků a výstupů (RMarkdown, Knitr atd.) ### Jan Caha ### Interpretace geodat
(10. 4. 2019) --- class: inverse, center, middle # Dokumentace analýz --- # Dokumentace analýz - "jakýkoliv kód, který jste půl roku neviděli, mohl dost dobře napsat někdo jiný" - jestliže při programování platí: "dokumentovat, dokumentovat, dokumentovat!", pak v data science platí: "komentovat, komentovat, komentovat!" - potřeba popisovat postup analýzy, důležitá rozhodnutí, ale i výsledky - lze sice využít komentáře v kódu, ale to má do ideálu daleko --- class: inverse, center, middle # Markdown --- # Jazyk Markdown - jednoduchý značkovací jazyk, který umožňuje zápis dokumentů - méně komplikovaný než např. *html*, který často nahrazuje - překládá se obvykle do *html*, ale lze pomocí **pandoc** konvertovat i na řadu jiných formátů (pdf, docx, ppt) - cheatsheety v RStudiu - varianta **RMarkdown** umožňuje kombinovat kód R a běžný text - šablony, které se používají pro překlad --- # Reporty v RStudiu - formát **RMarkdown**, přípona **.Rmd** (**md** je přípona Markdown) <sup>1</sup> - kompilace **.Rmd** do výsledného formátu většinou pomocí RStudia, ale lze i přímo z kódu - složka `reports` zmíněná ve struktuře projektu .footnote[ [1] Xie, Y. (2014). _Dynamic Documents With R and Knitr_. En. Boca Raton, FL: CRC Press. ISBN: 978-1-4822-0354-7. ] --- # Struktura reportu - dvě části - hlavička (**yaml**) a samotný dokument (**RMarkdown**) - příklad hlavičky ```yaml --- title: "Nadpis dokumentu" author: "Autor dokumentu" date: "`r Sys.Date()`" output: html_document --- ``` --- # Vkládání kódu R - zobrazovat, zobrazovat a interpretovat, pouze interpretovat - buď jako celý blok ```r x <- c(5, 7, 9) x ``` - nebo jako řádkový kód *r print(sum(x))* omezený zpětným apostrofem (angl. backtick) --- # Výstupy z R - přeloží se dle nastavených pravidel do výstupního formátu **RMarkdown** - obrázky - rastrová grafika - datové rámce - tabulky, pomocí různých balíků do různých výstupu - další výstupy, např. interaktivní grafy, mapy v leafleatu atd. --- # Tabulky - kableExtra - tabulky na web ve formátu boostrapu ```r library(kableExtra) diamonds %>% kable() %>% kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE) ``` --- # Tabulky - DT - tabulky na web se stránkami ```r library(DT) datatable(diamonds, options = list(autoWidth = FALSE, scrollX = TRUE)) ``` --- # Tabulky - Flextable - hodí se např. do Wordu ```r library(flextable) diamonds %>% flextable() %>% autofit() ``` --- class: inverse, center, middle # Děkuji za pozornost!