R Markdown. Как сделать отчет в условиях неопределенности?
- среда, 24 июня 2020 г. в 00:33:34
Маленький рецепт, который будет полезен при создании динамических отчетов.
Достаточно часто встречается ситуация, когда размер и содержание отчетной формы будет зависеть от состава переданных на вход данных. Речь идет именно о story-telling отчете, а не о простом выводе таблицы. В этом случае, в зависимости от содержания входных данных, могут появляться или исчезать отдельные пункты, графики, таблицы, текст.
Что будет делать классический Excel-Word аналитик? Под каждый новый запрос делать кастомный отчет и сохранять его в отдельный файл. Но можно заглянуть немного под капот и заставить компьютер делать все самостоятельно.
R Markdown позволяет все это выполнить в элегантной форме. Некоторые технические детали ниже.
У нас есть данные, содержание которых может меняться. Например, надо строить отчет по машинам, развозящим грузы (пример абстрактный). Количество и номера машин, выходящих в рейс, каждый день разные, но сводка по каждой машине по своей структуре одинакова. Будем отталкиваться от этого.
R Markdown выполняется в несколько проходов. При этом из Rmd
сначала формируется .md
, а потом из него формируется выходное представление, наиболее популярным является html формат.
Итого, намечаются 2 варианта.
.Rmd
нужные блоки (собранные или шаблонизированные)..md
нужные markdown вставки.Ниже просто пример кода, который каждый желающий может запустить у себя на машине. Он охватывает реализации обоих примеров и минимален, чтобы передать суть.
Исходный код и Результирующий отчет
Вот ещё полезная информация на эту тему:
P.S. Для сомневающихся этот пример является неплохой аргументацией, почему имеет смысл посмотреть в сторону R.
Предыдущая публикация — «Медианы выборок. Доверительные интервалы и сравнение».