Rmd table 编织到 word 文档时,字幕被弄乱了
Rmd table captions are messed up when knitting to word doc
我正在尝试在 Rmd 中制作 tables,使用不同的标题或 headers。包 flextable
有很好的选项,可以输出到 word 文档。它的功能 add_header_lines()
允许您在每个 table 的顶部添加标题 header。当 Rmd 输出换行到新页面时,add_header_lines()
将另一个标题 header 添加到下一页继续 table 的顶部。但是,它会获取传递给您首先创建的任何 table 的参数。然后它在下一个 table 中继续正确,直到到达下一页,它再次恢复到第一页(参见图片)。
这是一个可重现的示例,其中 table 中的所有值都应与 Table 数字相同。
关于如何解决这个问题有什么想法吗?我希望它有正确的标题,但会满足于在分页后简单地删除第二个标题。
---
title: "Untitled"
author: "Anyone"
date: "2/29/2020"
output:
word_document: default
html_document:
df_print: paged
pdf_document: default
---
```{r setup, include=FALSE}
library(dplyr)
library(flextable)
knitr::opts_chunk$set(echo = FALSE,message=FALSE)
```
```{r Table1}
cars1<-cars*0+1
theme_zebra(regulartable(cars1))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 1: Model output for thing 1"))
```
```{r Table2}
cars2<-cars*0+2
theme_zebra(regulartable(cars2))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 2: Model output for thing 2"))
```
```{r Table3}
cars3<-cars*0+3
theme_zebra(regulartable(cars3))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 3: Model output for thing 3"))
```
```{r Table4}
cars4<-cars*0+4
theme_zebra(regulartable(cars4))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 4: Model output for thing 4"))
```
请注意,这是分页符所在的位置。此处标记为“1”的 table 实际上应该是“2”。它将继续对每个页面执行此操作,其中 table 的其余部分标有“1”(尝试 Rmd 代码)。
那是单词错误 :) 它决定两个 table 之间没有分隔符是相同的 table。
---
title: "Untitled"
author: "Anyone"
date: "2/29/2020"
output:
word_document: default
---
```{r setup, include=FALSE}
library(dplyr)
library(flextable)
knitr::opts_chunk$set(echo = FALSE,message=FALSE)
```
```{r Table1}
cars1<-cars*0+1
theme_zebra(flextable(cars1))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 1: Model output for thing 1"))
```
blah
```{r Table2}
cars2<-cars*0+2
theme_zebra(flextable(cars2))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 2: Model output for thing 2"))
```
blah
```{r Table3}
cars3<-cars*0+3
theme_zebra(flextable(cars3))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 3: Model output for thing 3"))
```
blah
```{r Table4}
cars4<-cars*0+4
theme_zebra(flextable(cars4))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 4: Model output for thing 4"))
```
据我所知,这不是 flex 可以解决的问题table,但如果有我不知道的选项,我很乐意将其整合。
我正在尝试在 Rmd 中制作 tables,使用不同的标题或 headers。包 flextable
有很好的选项,可以输出到 word 文档。它的功能 add_header_lines()
允许您在每个 table 的顶部添加标题 header。当 Rmd 输出换行到新页面时,add_header_lines()
将另一个标题 header 添加到下一页继续 table 的顶部。但是,它会获取传递给您首先创建的任何 table 的参数。然后它在下一个 table 中继续正确,直到到达下一页,它再次恢复到第一页(参见图片)。
这是一个可重现的示例,其中 table 中的所有值都应与 Table 数字相同。
关于如何解决这个问题有什么想法吗?我希望它有正确的标题,但会满足于在分页后简单地删除第二个标题。
---
title: "Untitled"
author: "Anyone"
date: "2/29/2020"
output:
word_document: default
html_document:
df_print: paged
pdf_document: default
---
```{r setup, include=FALSE}
library(dplyr)
library(flextable)
knitr::opts_chunk$set(echo = FALSE,message=FALSE)
```
```{r Table1}
cars1<-cars*0+1
theme_zebra(regulartable(cars1))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 1: Model output for thing 1"))
```
```{r Table2}
cars2<-cars*0+2
theme_zebra(regulartable(cars2))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 2: Model output for thing 2"))
```
```{r Table3}
cars3<-cars*0+3
theme_zebra(regulartable(cars3))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 3: Model output for thing 3"))
```
```{r Table4}
cars4<-cars*0+4
theme_zebra(regulartable(cars4))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 4: Model output for thing 4"))
```
请注意,这是分页符所在的位置。此处标记为“1”的 table 实际上应该是“2”。它将继续对每个页面执行此操作,其中 table 的其余部分标有“1”(尝试 Rmd 代码)。
那是单词错误 :) 它决定两个 table 之间没有分隔符是相同的 table。
---
title: "Untitled"
author: "Anyone"
date: "2/29/2020"
output:
word_document: default
---
```{r setup, include=FALSE}
library(dplyr)
library(flextable)
knitr::opts_chunk$set(echo = FALSE,message=FALSE)
```
```{r Table1}
cars1<-cars*0+1
theme_zebra(flextable(cars1))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 1: Model output for thing 1"))
```
blah
```{r Table2}
cars2<-cars*0+2
theme_zebra(flextable(cars2))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 2: Model output for thing 2"))
```
blah
```{r Table3}
cars3<-cars*0+3
theme_zebra(flextable(cars3))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 3: Model output for thing 3"))
```
blah
```{r Table4}
cars4<-cars*0+4
theme_zebra(flextable(cars4))%>%
align(align="center",part="all") %>%
autofit%>%
add_header_lines(paste("Table 4: Model output for thing 4"))
```
据我所知,这不是 flex 可以解决的问题table,但如果有我不知道的选项,我很乐意将其整合。