23.06.2020       Выпуск 340 (22.06.2020 - 28.06.2020)       Статьи

R Markdown. Как сделать отчет в условиях неопределенности?

Маленький рецепт, который будет полезен при создании динамических отчетов.

 

Достаточно часто встречается ситуация, когда размер и содержание отчетной формы будет зависеть от состава переданных на вход данных. Речь идет именно о story-telling отчете, а не о простом выводе таблицы. В этом случае, в зависимости от содержания входных данных, могут появляться или исчезать отдельные пункты, графики, таблицы, текст.

Читать>>




Экспериментальная функция:

Ниже вы видите текст статьи по ссылке. По нему можно быстро понять ссылка достойна прочтения или нет

Просим обратить внимание, что текст по ссылке и здесь может не совпадать.

Маленький рецепт, который будет полезен при создании динамических отчетов.

Достаточно часто встречается ситуация, когда размер и содержание отчетной формы будет зависеть от состава переданных на вход данных. Речь идет именно о story-telling отчете, а не о простом выводе таблицы. В этом случае, в зависимости от содержания входных данных, могут появляться или исчезать отдельные пункты, графики, таблицы, текст.

Что будет делать классический Excel-Word аналитик? Под каждый новый запрос делать кастомный отчет и сохранять его в отдельный файл. Но можно заглянуть немного под капот и заставить компьютер делать все самостоятельно.

R Markdown позволяет все это выполнить в элегантной форме. Некоторые технические детали ниже.

Основная идея

У нас есть данные, содержание которых может меняться. Например, надо строить отчет по машинам, развозящим грузы (пример абстрактный). Количество и номера машин, выходящих в рейс, каждый день разные, но сводка по каждой машине по своей структуре одинакова. Будем отталкиваться от этого.

R Markdown выполняется в несколько проходов. При этом из Rmd сначала формируется .md, а потом из него формируется выходное представление, наиболее популярным является html формат.

Итого, намечаются 2 варианта.

  1. Можно на этапе компиляции отчета вставить в компилируемый .Rmd нужные блоки (собранные или шаблонизированные).
  2. Можно на этапе компиляции отчета вставить в промежуточный .md нужные markdown вставки.

Реализация

Ниже просто пример кода, который каждый желающий может запустить у себя на машине. Он охватывает реализации обоих примеров и минимален, чтобы передать суть.

  1. Динамически вставляем гиперссылки, получаемые из внешнего источника.
  2. Динамически формируем разделы документов на основании данных.

Исходный код и Результирующий отчет

Ссылки

Вот ещё полезная информация на эту тему:

P.S. Для сомневающихся этот пример является неплохой аргументацией, почему имеет смысл посмотреть в сторону R.

Предыдущая публикация — «Медианы выборок. Доверительные интервалы и сравнение».






Разместим вашу рекламу

Пиши: mail@pythondigest.ru

Нашли опечатку?

Выделите фрагмент и отправьте нажатием Ctrl+Enter.

Система Orphus