我正在尝试编织kable()
创建的表并生成Word文档。当我使用RStudio编织按钮进行编织时,它可以正常工作并生成格式化的表格。当我使用render()
时,它不会。它仅产生未格式化的文本字符串。这是一个最小的示例:
test.Rmd
---
title: "Test"
output:
word_document:
keep_md: true
---
```{r pressure2, echo=FALSE}
knitr::kable(mtcars)
```
render()
命令是
rmarkdown::render("test.Rmd", clean=FALSE)
“编织”按钮(RStudio)和pandoc
命令同时运行的render()
命令是
"C:/Program Files/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS test.utf8.md --to docx --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output test.docx --smart --highlight-style tango
运行test.utf8.md
时,我可以在pandoc()
生成的render()
文件中看到问题。 test.utf8.md
文件是一个html表。我看不到单击“编织”按钮生成的test.utf8.md
文件,因为该文件未与keep_md=true
保存在一起。仅保留test.md
文件。
答案 0 :(得分:0)
当输出为kable()
时,RStudio编织按钮必须更改word_document
格式。如果我将kable()
呼叫更改为
knitr::kable(mtcars, format="markdown")
有效。以下设置kable()
格式。我不知道用户将选择哪种输出格式,所以不想在函数调用中设置格式。将其与if语句一起使用以检测输出类型是否为Word,即可解决此问题。
options(knitr.table.format = 'markdown')