Страницы

Поиск по вопросам

Показаны сообщения с ярлыком markdown. Показать все сообщения
Показаны сообщения с ярлыком markdown. Показать все сообщения

пятница, 31 января 2020 г.

Как перенести таблицу в удобный для публикации формат?

#r #markdown


Что делать если нужно не просто получить результат, но и презентовать его?

Я знаю про rmarkdown, но как оформить именно таблицу?
Поделитесь, кто как с этим справляется.
    


Ответы

Ответ 1



Для таблицы самый очевидный вариант - kable(). По другим вариантам из ответа выше: xtable и pander имеют методы для печати различных объектов, например, возвращаемых функциями lm(), t.test и многими другими. Это очень удобно и полезно, и kable() тут не справится. LaTeX изучать не обязательно, вывод в html также работает. xtable с R Markdown используется следующим образом: print(xtable(fit1), type = "html") При этом нужно не забыть указать в чанке ```{r, results='asis'} pander еще проще: pander(fit1). Есть еще относительно экзотический способ, полезный при создании инфографики или при подготовке материалов для печати в солидном журнале: https://github.com/baptiste/gridextra/wiki/tableGrob Позволяет получать таблицы в виде красивых картинок, а также комбинировать их с графиками, например

Ответ 2



Для оформления таблиц есть много пакетов. Эти пакеты позволяют генерировать код в форматах LaTeX, pandoc, HTML. Более менее систематизированный обзор можно посмотреть на CRAN Task Views в разделе Reproducible Research. Ниже приведу краткий список пакетов, которые предоставляют функции для работы с таблицами. knitr (функция kable()) htmlTable xtable pander Я работал с каждым из них и могу подтвердить их работоспособность. Также могут быть полезны пакеты broom, xtable и pander, которые предоставляет функции для оформления типичных объектов R, получаемых в ходе статистического анализа (например, результаты регрессионного или дисперсионного анализа). Посмотреть поддерживаемые пакетом методы можно следующим образом (аналогично для других пакетов): library(pander) methods(pander) Пример вывода kable() в формате markdown: knitr::kable(head(mtcars), format = "markdown") #> | | mpg| cyl| disp| hp| drat| wt| qsec| vs| am| gear| carb| #> |:-----------------|----:|---:|----:|---:|----:|-----:|-----:|--:|--:|----:|----:| #> |Mazda RX4 | 21.0| 6| 160| 110| 3.90| 2.620| 16.46| 0| 1| 4| 4| #> |Mazda RX4 Wag | 21.0| 6| 160| 110| 3.90| 2.875| 17.02| 0| 1| 4| 4| #> |Datsun 710 | 22.8| 4| 108| 93| 3.85| 2.320| 18.61| 1| 1| 4| 1| #> |Hornet 4 Drive | 21.4| 6| 258| 110| 3.08| 3.215| 19.44| 1| 0| 3| 1| #> |Hornet Sportabout | 18.7| 8| 360| 175| 3.15| 3.440| 17.02| 0| 0| 3| 2| #> |Valiant | 18.1| 6| 225| 105| 2.76| 3.460| 20.22| 1| 0| 3| 1|

суббота, 14 декабря 2019 г.

Как добавить комментарий в документ с разметкой Markdown?

#разметка #комментарии #markdown


Нужно добавить в документ на Markdown комментарии, которые бы не экспортировались
в итоговый документ. 

Есть стандартный html-комментарий:

 


Проблема в том, что при экспорте такой комментарий попадает в итоговый документ в
неизменном виде. Можно ли сделать такие комментарии, которые будут вырезаться при экспорте
в HTML?
    


Ответы

Ответ 1



Это реализуемо с помощью ярлыка ссылки (link label), с которым не связывается ни одна ссылка. Эти ярлыки ссылок будут вырезаны при экспорте: (пустая строка) [comment]: # (comment text) (пустая строка) [//]: # (comment text) Сравните с обычным синтаксисом ссылки: [link text][label] [label]: http://ru.stackoverflow.com/questions/ask В принципе, спецификация Markdown допускает вариант, когда перед комментарием нет пустой строки, а вместо # используется <>. Проблема в том, что спецификация дырява как решето, а имеющиеся 28+ реализаций работают по–разному. Добро пожаловать в Markdown! Проверить работу различных реализаций нам поможет инструментарий Babelmark2, проверяющий рендеринг разметки Markdown в различных реализациях. (+ — прошли тест, - — не прошли, ? — оставляют неотображаемый мусор в HTML). Без пустых строк, с <> 13+, 15- Пустая строка перед, с <> 20+, 8- Пустая строка перед и после, c <> 20+, 8- Без пустых строк, с # 13+ 1? 14- Пустая строка перед, с # 23+ 1? 4- Пустая строка перед и после, c # 23+ 1? 4- Согласно проверке, наиболее платформо-независимый вариант — это # и пустая строка перед комментарием. Пустая строка после комментария не играет роли. В частности, набирающая популярность строгая спецификация CommonMark, в разработке которой участвует Jeff Atwood, работает именно с этим вариантом (и не работает с <> и/или без пустой строки) C этими реализациями нет никакой возможности использовать такие комментарии: cebe/markdown 1.1.0 cebe/markdown MarkdownExtra 1.1.0 cebe/markdown GFM 1.1.0 s9e\TextFormatter (Fatdown/PHP) Исследование основано на решении, предложенном участником Magnus на SO.EN.

среда, 3 апреля 2019 г.

Как перенести таблицу в удобный для публикации формат?

Что делать если нужно не просто получить результат, но и презентовать его?
Я знаю про rmarkdown, но как оформить именно таблицу? Поделитесь, кто как с этим справляется.


Ответ

Для таблицы самый очевидный вариант - kable()
По другим вариантам из ответа выше: xtable и pander имеют методы для печати различных объектов, например, возвращаемых функциями lm(), t.test и многими другими. Это очень удобно и полезно, и kable() тут не справится. LaTeX изучать не обязательно, вывод в html также работает.
xtable с R Markdown используется следующим образом:
print(xtable(fit1), type = "html")
При этом нужно не забыть указать в чанке ```{r, results='asis'}
pander еще проще: pander(fit1)
Есть еще относительно экзотический способ, полезный при создании инфографики или при подготовке материалов для печати в солидном журнале: https://github.com/baptiste/gridextra/wiki/tableGrob
Позволяет получать таблицы в виде красивых картинок, а также комбинировать их с графиками, например

понедельник, 22 октября 2018 г.

Как добавить комментарий в документ с разметкой Markdown?

Нужно добавить в документ на Markdown комментарии, которые бы не экспортировались в итоговый документ.
Есть стандартный html-комментарий:

Проблема в том, что при экспорте такой комментарий попадает в итоговый документ в неизменном виде. Можно ли сделать такие комментарии, которые будут вырезаться при экспорте в HTML?


Ответ

Это реализуемо с помощью ярлыка ссылки (link label), с которым не связывается ни одна ссылка. Эти ярлыки ссылок будут вырезаны при экспорте:

(пустая строка) [comment]: # (comment text)
(пустая строка) [//]: # (comment text)
Сравните с обычным синтаксисом ссылки:
[link text][label]
[label]: http://ru.stackoverflow.com/questions/ask
В принципе, спецификация Markdown допускает вариант, когда перед комментарием нет пустой строки, а вместо # используется <>. Проблема в том, что спецификация дырява как решето, а имеющиеся 28+ реализаций работают по–разному. Добро пожаловать в Markdown!
Проверить работу различных реализаций нам поможет инструментарий Babelmark2, проверяющий рендеринг разметки Markdown в различных реализациях. (+ — прошли тест, - — не прошли, ? — оставляют неотображаемый мусор в HTML).
Без пустых строк, с <> 13+, 15- Пустая строка перед, с <> 20+, 8- Пустая строка перед и после, c <> 20+, 8- Без пустых строк, с # 13+ 1? 14- Пустая строка перед, с # 23+ 1? 4- Пустая строка перед и после, c # 23+ 1? 4-
Согласно проверке, наиболее платформо-независимый вариант — это # и пустая строка перед комментарием. Пустая строка после комментария не играет роли. В частности, набирающая популярность строгая спецификация CommonMark, в разработке которой участвует Jeff Atwood, работает именно с этим вариантом (и не работает с <> и/или без пустой строки)
C этими реализациями нет никакой возможности использовать такие комментарии:
cebe/markdown 1.1.0 cebe/markdown MarkdownExtra 1.1.0 cebe/markdown GFM 1.1.0 s9e\TextFormatter (Fatdown/PHP)
Исследование основано на решении, предложенном участником Magnus на SO.EN.