Tvorba reportů ve formátech pdf, html a docx – tedy souborů čitelných v Adobe Acrobat Readeru, internetovém prohlížeči a MS Wordu – je vcelku dobře známá silná stránka erka.
Ne tak často využívaná, ale rovněž velmi zajímavá, je možnost parametrického reportingu. Tato o něco pokročilejší technika je postavena na předání určité hodnoty – parametru – R Markdownu při generování reportu. Je tak možné podle jedné zdrojové markdown šablony vytvořit více hotových dokumentů.
Typické přiklady použití parametrizace jsou :
- reporty shodné daty a strukturou, ale zpracované k odlišnému datu
- sada reportů stejné struktury, ale mírně odlišných dat (například ke stejnému datu za více regionů)
Z popisu je vidět, že parametrizace je dobrá cesta k odbourání nudné a nezáživné (navíc náchylné k chybě) ruční práce.
Oceníme jí zejména v případě, kdy dojde k institucionalizaci původně jednorázového reportu. Což se, zejména při práci v korporátu, může stát…
Tvorba parametrického reportu je téma na více souborů – vyžaduje minimálně dva:
- RMarkdown šablonu s definovaným parametrem
- erkový skript který šablonu volá s konkrétní hodnotou parametru
V případě ukládání do pdf bývá praktické navíc doplnit LaTeX-ovou šablonu.
Nabízím vám ilustrativní příklad parametrického reportu, který ilustruje práci s parametry v Rmd a jejich volání přes rmarkdown::render()
. Protože příklad z povahy věci pracuje s více soubory nebylo praktické ho publikovat na těchto stránkách. Místo toho jsem jej uložil na GitHubu.
Projekt si snado a rychle vyklonujete z adresy https://github.com/jlacko/R4RPTG.git
postupem popsaným v mé cestě erka.
Pro ilustraci používám svojí oblíbenou časovou řadu ceny piva v regionech podle ČSÚ.
Z hlediska dalšího rozvoje stojí za úvahu integrace generování reportů s balíčkem cronR pro přehlednější scheduling jobů v Linuxovém prostředí (tj. v kontextu serverové verze RStudia).
Dalším logickým krokem je automatizace distribuce takto vytvořených reportů, ale ta již hodně závisí na konkrétní infrastruktuře.