knitr — это программный движок для динамической генерации отчетов с помощью R. [1] [2] Это пакет на языке программирования R , который позволяет интегрировать код R в документы LaTeX , LyX , HTML , Markdown , AsciiDoc и reStructuredText . Цель knitr — обеспечить воспроизводимые исследования в R с помощью средств грамотного программирования . Он лицензирован в соответствии с GNU General Public License . [3]
knitr был вдохновлен Sweave и написан с другим дизайном для лучшей модуляризации , поэтому его легче поддерживать и расширять. Sweave можно рассматривать как подмножество knitr в том смысле, что все функции Sweave также доступны в knitr. Некоторые из расширений knitr включают формат R Markdown [4] (используется в отчетах, опубликованных на RPubs [5] ), кэширование, графику TikZ и поддержку других языков, таких как Python , Perl , C++ , скрипты Shell и CoffeeScript и так далее.
knitr официально поддерживается в RStudio IDE для R, LyX , Emacs/ESS и Architect IDE для науки о данных.
Knitr состоит из стандартного документа, например Markdown, с фрагментами кода R, интегрированными в документ. Фрагменты кода можно рассматривать как R-скрипты, которые
Реализация логических условий в R может предоставить текстовые элементы для динамического отчета в зависимости от статистического анализа. Например:
Тест знаков Уилкоксона применялся для статистического сравнения среднего значения двух зависимых выборок, приведенных выше. В этом случае рассчитанное значение P составило 0,56 и, следовательно, превысило уровень значимости (по умолчанию 0,05). Это означает, что «H0: нет никакой разницы между результатами в data1 и data2» не может быть отвергнуто.
Текстовые фрагменты выбираются в соответствии с результатами скрипта. В этом примере, если P-значение было ниже уровня значимости, в динамический отчет будут вставлены другие текстовые фрагменты. В частности, второе предложение заменит «меньше» на «больше», а третье предложение будет заменено, чтобы отразить отклонение нулевой гипотезы. Использование этого рабочего процесса позволяет создавать новые отчеты, просто предоставляя новые входные данные, гарантируя идентичность воспроизведения методологии.