Я только начинаю узнавать о KnitR и использовании Markdown для создания документов и отчетов R. Похоже, это идеально подходит для повседневных отчетов о том, что я имею отношение к своей работе. Однако я не вижу одного простого способа печати фреймов данных и таблиц с использованием форматирования Markdown (вроде как xtable
, но с Markdown вместо LaTeX или HTML). Я знаю, что могу просто встроить HTML-вывод из xtable, но мне было интересно, есть ли какие-нибудь решения на основе Markdown?
r
markdown
knitr
r-markdown
Т.А.Рехман
источник
источник
print(xtable(data), type = "html")
.knitr
, поэтому я отправил запрос на перенос,pander
чтобы добавить стиль таблицы. В будущих версияхpander
вы сможете это сделатьpandoc.table(iris, style="rmarkdown")
pander
должен быть на CRAN. pandoc - это программа, написанная на Haskell, которая преобразует множество различных форматов и обратно, ни в коем случае не специфична для R.pander
, что не было на CRAN в прошлый раз, когда я слышал - нетpandoc
. Моя вина. :)Ответы:
Теперь
knitr
(начиная с версии 1.3) в пакет включенаkable
функция создания таблиц:ОБНОВЛЕНО : если вы получаете необработанную уценку в документе, попробуйте настроить
results = "asis"
параметр чанка.источник
format
аргумент, поскольку knitr знает формат вывода и автоматически устанавливает егоresults = asis
.results = 'asis'
Два пакета, которые сделают это, - это потворство.
Или ascii
pander
- это немного другой подход к построению отчетов (но может быть полезен для этой функции).ascii
позволит вамprint
сtype = 'pandoc
(или различные другие уценки ароматы)Обратите внимание, что в обоих этих случаях он направлен на использование
pandoc
преобразования из уценки в желаемый тип документа, однако использованиеstyle='rmarkdown'
приведет к созданию таблиц, совместимых с этимmarkdown
пакетом, и встроенного преобразования вrstudio
.источник
pander
: он может создаватьrmarkdown
стилизованные таблицы также рядом с другими, например:pander(head(iris[,1:3]), style = 'rmarkdown')
Просто хотел обновить это тем, что я решил делать. Я использую
hwriter
пакет прямо сейчас для распечатки таблиц и использую функцииrow.*
иcol.*
для размещения классов CSS в различных элементах. Затем я написал собственный CSS, чтобы изображение отображалось так, как я хотел. Итак, вот пример на случай, если кто-то еще имеет дело с чем-то похожим.Сначала создайте файл, который сделает
knitting
и изменит Markdown на HTML:Затем создайте фактический файл Markdown:
Наконец, просто создайте собственный файл CSS.
Выполнение
./file_knit.r
дает мне file.html, который выглядит так:Итак, надеюсь, это может быть полезно для тех, кто хочет немного больше форматирования в выводе Markdown!
источник
В
pander
пакете есть функции :источник
pander
:) Обратите внимание, что вы также можете использовать общий метод S3, чтобы сохранить несколько символов для ввода, например:pander(head(iris)[, 1:3])
Сделать собственную индивидуальную функцию несложно. Вот очень простое доказательство концепции создания таблицы rmarkdown для a
data.frame
:В документе .Rmd вы затем использовали бы функцию с
results = 'asis'
:Приведенный выше код даст вам следующий рисунок (в примере это выходной файл pdf, но, поскольку таблица находится в markdwon, вы также можете связать его в html или word).
Отсюда - и читая код других людей - вы можете понять, как манипулировать текстом, чтобы сгенерировать нужную вам таблицу и создать более персонализированные функции.
источник
используйте комбинацию knitr :: kable и xtable в своем документе уценки.
для простого data.frame -
format="pandoc"
позволяет больше параметров, например заголовок.Теперь комбинация для описания модели .
для получения дополнительных опций посмотрите на
stargazer
пакет вместоxtable
.пример для личного пользования
источник
Чтобы писать / создавать таблицы Markdown в R, вы также можете использовать MarkdownReports
MarkDown_Table_writer_DF_RowColNames()
илиMarkDown_Table_writer_NamedVector()
функции. Вы просто передаете фрейм данных / матрицу с именами измерений или вектор с именами, и он анализирует и записывает таблицу в формате Markdown.источник
Моя функция для Gitlab:
источник