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.