如何使用 knitr 生成 GitHub 风格的降价文件?

How to generate a GitHub flavoured markdown file using knitr?

我喜欢使用 knitr 生成动态报告并使用 GitHub 与我的同事分享。我通常做的是编写我的 Rmarkdown 脚本 --knit ('myfile.Rmd')-- 并生成一个可以在 GitHub 上直接看到的降价 (myfile.md) 版本。 GitHub 上的降价文件对我来说比 knitr 使用 pandoc 生成的 HTML 文件要好得多。

除了我想显示 table 时,此工作流程通常可以完美运行。目前我在 R-chunk 中使用 kable 如果最终产品是 HTML 文件,它工作得很好。

我的 R-chunk 看起来像:

```{r}
library (knitr)
data (cars)
kable (head (cars))
```

当从控制台调用 kable 时,我得到了我想要的管道 table:

| speed| dist|
|-----:|----:|
|     4|    2|
|     4|   10|
|     7|    4|
|     7|   22|

被 GitHub 很好地展示了。

但是,knit('myfile.Rmd')myfile.md 中生成的内容(当从 R-chunk 调用 kable 时)是一个简单的 table

speed   dist
------  -----
    4      2
    4     10
    7      4
    7     22

GitHub 没有很好地展示。

有什么方法可以使我的降价文件中的 table 与 GitHub 风格的降价兼容吗?也许有一个我不知道的 knitrkable() 选项?或者也许有 kable 的替代方法可以达到预期的效果?

Pandoc 可以使用 -t markdown_github 输出到 github 风味降价。使用 knitr 将是:

library(knitr)
pandoc('input.md', format='markdown_github')

您可以通过kable()format参数指定table格式,例如

kable(head(mtcars), format = 'markdown')

或者如果你想全局设置这个选项,你可以

options(knitr.table.format = 'markdown')
# then just kable(head(mtcars))