【问题标题】:getting rmarkdown to print improved tibble printing让 rmarkdown 打印改进的 tibble 打印
【发布时间】:2020-10-15 10:36:49
【问题描述】:

pillar 包提供了许多选项来格式化tibble 打印。

https://pillar.r-lib.org/reference/pillar-package.html#package-options

例如,这是我在Windows 机器上看到的,它支持这些选项:

但是当我为rmarkdown 文档设置相同的选项时,我看不出打印输出有任何区别。

有没有办法成功地让它工作或rmarkdown 本身不支持?

【问题讨论】:

  • 来自pillar usage :“pillar 是面向开发人员的包,不是为最终用户设计的”

标签: r r-markdown


【解决方案1】:

vignette for the tibble package 中,有一个可能的解决方案。在 .Rmd 文件的设置块中,输入:

knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
library(tibble)
set.seed(1014)

options(crayon.enabled = TRUE)
options(pillar.bold = TRUE, pillar.subtle_num = TRUE)

knitr::opts_chunk$set(collapse = TRUE, comment = pillar::style_subtle("#>"))

colourise_chunk <- function(type) {
  function(x, options) {
    lines <- x
    if (type != "output") {
      lines <- crayon::red(lines)
    }
    paste0(
      '<div class="sourceCode"><pre class="sourceCode"><code class="sourceCode">',
      paste0(
        fansi::sgr_to_html(htmltools::htmlEscape(lines)),
        collapse = "\n"
      ),
      "</code></pre></div>"
    )
  }
}

knitr::knit_hooks$set(
  output = colourise_chunk("output"),
  message = colourise_chunk("message"),
  warning = colourise_chunk("warning"),
  error = colourise_chunk("error")
)

在一个新的块中:


broom::tidy(stats::chisq.test(table(ggplot2::msleep$vore)))

我的 HTML 输出:

【讨论】:

    【解决方案2】:

    我会说,根据我的降价经验,Pillow 将无法工作,因为降价使用 pandoc。

    作为替代方案,我建议使用 kable 包来获得类似的外观,并使用它的主题选项。使用相对相似主题的便捷教程 ->

    https://cran.r-project.org/web/packages/kableExtra/vignettes/awesome_table_in_html.html

    另一个制作非常酷的降价表的酷选项是使用 formattable,它有很多深入的格式化选项

    还有一些方便的教程 ->

    https://www.littlemissdata.com/blog/prettytables

    https://www.littlemissdata.com/blog/pretty-r-tables-in-github

    希望这对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-16
      • 2018-06-18
      • 2011-11-04
      • 2021-03-06
      相关资源
      最近更新 更多