Ras*_*sen 5 r ms-word rstudio knitr
Rmarkdown 输出到 word 创建一个表而不是两个
当我在 Rstudio 中使用 Rmarkdown 编织一个 Word 文档时,预计下面的代码会创建两个独立的表格,但它会创建一个组合表格。
代码预期创建一个包含两个表的 word 文档:
---
title: "Untitled"
output: word_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
## R Markdown
```{r}
knitr::kable(head(iris))
```
```{r}
knitr::kable(head(iris))
```
Run Code Online (Sandbox Code Playgroud)
但它只创建一个:
但是,如果我设置了 echo=TRUE,则会得到预期的两个表。当我将相同的文档输出到 HTML 时,它还会创建预期的两个表。通过单击 Rstudio 中的编织按钮创建表格。
问题是:如何获得两张桌子,而不是一张桌子?
澄清一下:问题不在于创建的两个表之间的空间很小。问题是创建了一张表。在这个问题所附的图片上,确实看起来是两张表(因为有两个表头),但实际上是一张表。但是 Axeman 的回答解决了这个问题。我仍然认为这是一个错误,因为在 knitr 的早期版本中,没有必要<br><br>在表之间进行指定,以确保它们不会合并为一个。
我提交了一份错误报告,但没有人看到它:https : //support.rstudio.com/hc/en-us/community/posts/115008683128-Bug-Two-tables-produced-by-knitr-kable-被渲染为一个字输出
Rstudio version 1.0.153
> sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=Danish_Denmark.1252 LC_CTYPE=Danish_Denmark.1252 LC_MONETARY=Danish_Denmark.1252 LC_NUMERIC=C LC_TIME=Danish_Denmark.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.4.1 backports_1.1.0 magrittr_1.5 rprojroot_1.2 htmltools_0.3.6 tools_3.4.1 yaml_2.1.14 Rcpp_0.12.12 rmarkdown_1.6 stringi_1.1.5
[11] highr_0.6 knitr_1.16 digest_0.6.12 stringr_1.2.0 evaluate_0.10.1
Run Code Online (Sandbox Code Playgroud)
在我家里的机器上我没有这个问题。所以相同的代码生成独立的表,不需要<br><br>在块之间放置。在这台家用机器上,sessioninfo 是这样的:
R version 3.4.1 (2017-06-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.4.1 backports_1.1.0 magrittr_1.5 rprojroot_1.2 htmltools_0.3.6 tools_3.4.1 yaml_2.1.14 Rcpp_0.12.12
[9] stringi_1.1.5 rmarkdown_1.6 knitr_1.17 stringr_1.2.0 digest_0.6.12 evaluate_0.10.1
Run Code Online (Sandbox Code Playgroud)
在两者之间添加 HTML 注释,可以使表格之间的分隔更加清晰。
例如
---
title: "Untitled"
output: word_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
## R Markdown
```{r}
knitr::kable(head(iris))
```
<!-- -->
```{r}
knitr::kable(head(iris))
```
Run Code Online (Sandbox Code Playgroud)
如果失败,您可以换行,替换<!-- -->为<br><br>.
| 归档时间: |
|
| 查看次数: |
1498 次 |
| 最近记录: |