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

4
我喜欢使用knitr来生成动态报告,并通过GitHub与同事分享。我通常的做法是编译我的Rmarkdown脚本--knit ('myfile.Rmd')--并生成一个Markdown版本(myfile.md),直接在GitHub上查看。对我来说,GitHub上的Markdown文件比knitr生成的带有pandoc的HTML文件更好用。
除了当我想要显示表格时,这个工作流程经常无缝运行。目前,我在R代码块中使用kable,如果最终产品是HTML文件,则效果非常好。
我的R代码块如下:
```{r}
library (knitr)
data (cars)
kable (head (cars))
```

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

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

GitHub漂亮地显示了内容。

然而,在调用 R 代码块中的 kable 后,knit('myfile.Rmd')myfile.md 中生成的是一个简单的表格。

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

这些表格在GitHub上显示效果不太好。

有没有办法让我的markdown文件中的表格与GitHub的markdown格式兼容?也许有一些我不知道的knitrkable()选项可以使用?或者有没有其他替代方案可以实现所需的结果?


2
在我看来,这应该没有问题,请问您能否分享一下您的 sessionInfo()?但是,如果您正在寻找替代 kable 的方法,我很乐意推广我的 pander 包 - 特别是使用 table.style 设置rmarkdown - daroczig
2个回答

5
您可以通过kable()函数的format参数来指定表格格式,例如:
kable(head(mtcars), format = 'markdown')

或者如果您想全局设置此选项,可以

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

4

Pandoc可以通过-t markdown_github输出Github风格的Markdown。在使用knitr时,可以这样配置:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接