编织到Word文档时,RMD表标题被弄乱了

时间:2020-03-01 00:44:48

标签: ms-word r-markdown flextable

我正在尝试使用不同的标题或标题在Rmd中创建表。软件包flextable具有很好的选项,可以输出到Word文档。它的功能add_header_lines()允许您在每个表格的顶部添加标题标题。当Rmd输出换行到新页面时,add_header_lines()在下一页的续表顶部添加另一个标题标题。但是,它将获取传递给您首先创建的任何表的参数。然后,它对于下一张表仍然是正确的,直到到达下一页,然后在该页面再次返回到第一页(参见图片)。

这是一个可复制的示例,其中表中的所有值应与表号相同。

关于如何解决此问题的任何想法?我希望它具有正确的标题,但可以满足于在分页符之后简单地摆脱第二个标题。

    ---
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"))

```

Word output page 1

请注意,这是分页符所在的位置。此处标记为“ 1”的表应为“ 2”。它将继续为每个页面执行此操作,在该页面的表的其余部分标记为“ 1”(尝试Rmd代码)。

Word output page 2

1 个答案:

答案 0 :(得分:1)

这是Word错误:)它确定两个表之间没有中断的是同一张表。

---
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"))

```

enter image description here

据我所知,这不是可以用flextable解决的,但是如果我不知道有什么选择,我很乐意将其集成。