R2HTML или Knitr для создания динамических отчетов?

Я хочу написать функцию R, которая обрабатывает некоторые данные, а затем автоматически выводит отчет в формате html. Этот отчет должен содержать некоторый фиксированный текст, некоторый текст, изменяющийся в соответствии с исходными данными, и некоторые цифры.

Как лучше всего пойти? R2HTML или трикотаж? Каковы преимущества одного над другим?

Насколько я понял, R2HTML позволяет мне последовательно создавать html-файл, в то время как Knitr уже работает с предопределенным файлом .Rhtml. Итак, либо используйте R2HTML, либо сшивайте и вращайте из Knitr для создания отчетов на лету.

Буду признателен за любые предложения или подсказки.


person steffi    schedule 26.10.2012    source источник


Ответы (4)


вязал каждый раз. Обрабатывает графику, позволяет писать отчет с уценкой вместо того, чтобы везде писать html (если хотите), кэширует данные, готовит для вас кофе и т. д.

person Spacedman    schedule 26.10.2012

Я воспользуюсь этой прекрасной возможностью, чтобы немного продвинуть pander :)


Этот пакет был написан по тем же причинам, что и замечательный knitr @Yihui, хотя я хотел, чтобы пользователи действительно сосредоточились на тексте и R-коде, не заморачиваясь с параметрами фрагментов и т. д. Таким образом, пользователи могли создавать красивые HTML, pdf или даже docx или odt выводятся автоматически с некоторыми предопределенными параметрами.

Эти параметры влияют, например. механизм кэширования (обработка зависимостей без каких-либо параметров фрагмента) или параметры сюжета (пусть это будет "базовый" R graphics, lattice или ggplot2), так что вам не нужно устанавливать цветовую палитру или второстепенную сетку на каждом из ваших графиков только один раз - или жить с пакетными значениями по умолчанию :)

Пакет фиксирует результаты (помимо ошибок/предупреждений и других сообщений и выходных данных) всех запущенных выражений R и может преобразовывать их в уценка Pandoc автоматически. Есть несколько вспомогательных функций, которые позволяют преобразовать результирующий документ, написанный в синтаксисе, подобном brew автоматически, например, HTML, если у вас установлено pandoc, или экспортируйте объекты R в markdown/HTML/любой другой поддерживаемый формат в реальном сеансе R с ссылочный класс.

Короткая демонстрация:

person daroczig    schedule 26.10.2012
comment
Я запустил демку за 5-6 минут, включая установку pander и pandoc. Очень впечатляюще! Конечно, Knitr и другие могут делать хорошие вещи в формате html или pdf, но факт в том, что многим из нас нужно взаимодействовать с людьми, использующими Word. Я действительно буду продвигать этот пакет на своем рабочем месте. - person Dag Hjermann; 14.05.2013
comment
Спасибо @DagHjermann, всегда приятно слышать такие замечательные отзывы :) - person daroczig; 14.05.2013

Вы также можете построить файл HTML последовательно, если у вас есть приличный текстовый редактор, такой как Emacs/ESS или RStudio и т. д. R2HTML превосходен с точки зрения его широкой поддержки многих объектов R (см. methods(HTML)), но я, вероятно, нахмурюсь на RweaveHTML() из-за его корня Sweave().

Тем не менее, я думаю, что было бы неплохо объединить R2HTML и knitr, например.

# A LOESS Example

```{r loess-demo, results='asis'}
cars.lo <- loess(dist ~ speed, cars)
library(R2HTML)
HTML(cars.lo, file = '')
```

В приведенном выше примере я использовал синтаксис R Markdown. Ключ results='asis' означает запись необработанного HTML-кода в вывод.

person Yihui Xie    schedule 26.10.2012

Я считаю, что вы также можете использовать Sweave для создания файлов HTML, хотя я слышал, что Knitr проще в использовании.

person TARehman    schedule 26.10.2012