首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >render()与word_document针织图形用户界面

render()与word_document针织图形用户界面
EN

Stack Overflow用户
提问于 2019-04-26 05:05:58
回答 1查看 90关注 0票数 0

我正在尝试编织一个由kable()创建的表格,并生成一个Word文档。当我使用RStudio编织按钮编织时,它工作得很好,并生成一个格式化的表格。当我使用render()时,它不会。它只生成一个未格式化的文本字符串。下面是一个最小的例子:

test.Rmd

代码语言:javascript
复制
---
title: "Test"
output: 
  word_document:
    keep_md: true
---

```{r pressure2, echo=FALSE}

kable::kable(Mtcar)

代码语言:javascript
复制

render()命令是

代码语言:javascript
复制
rmarkdown::render("test.Rmd", clean=FALSE)

由Knit按钮(RStudio)和render()命令运行的pandoc命令是

代码语言:javascript
复制
"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

当我运行render()时,我可以在pandoc()生成的test.utf8.md文件中看到这个问题。test.utf8.md文件是一个html表。我看不到由点击Knit按钮产生的test.utf8.md文件,因为它不是用keep_md=true保存的。仅保留test.md文件。

EN

回答 1

Stack Overflow用户

发布于 2019-04-26 05:38:22

当输出为word_document时,RStudio Knit按钮必须更改kable()格式。如果我将kable()调用更改为

代码语言:javascript
复制
knitr::kable(mtcars, format="markdown")

它起作用了。下面设置kable()格式。我不知道用户会选择什么输出格式,所以不想在函数调用中设置格式。使用if语句来检测输出类型是否为Word,解决了这个问题。

代码语言:javascript
复制
options(knitr.table.format = 'markdown')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55857635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档