Ms word 使用gtsummary和flextable在rmarkdown中生成表

Ms word 使用gtsummary和flextable在rmarkdown中生成表,ms-word,r-markdown,flextable,gtsummary,Ms Word,R Markdown,Flextable,Gtsummary,大多数合作者更喜欢word格式的表格。随着rmarkdown、knitr、gtsummary和flextable的出现,这终于成熟了,但我无法思考如何在不手动设置缩进的情况下生成下面的最终表格。我认为下面的表I在行之间留出了太多的空间,但我无法想出如何通过编程方式将行间距设置得更紧(尝试了autofit、height、height_all、hrule,但没有获得所需的输出)。相反,我使用word中的紧凑样式生成下面的TBL2。但是,我必须手动插入cyl类别的缩进。有人知道如何通过编程实现吗 标

大多数合作者更喜欢word格式的表格。随着rmarkdown、knitr、gtsummary和flextable的出现,这终于成熟了,但我无法思考如何在不手动设置缩进的情况下生成下面的最终表格。我认为下面的表I在行之间留出了太多的空间,但我无法想出如何通过编程方式将行间距设置得更紧(尝试了autofit、height、height_all、hrule,但没有获得所需的输出)。相反,我使用word中的紧凑样式生成下面的TBL2。但是,我必须手动插入cyl类别的缩进。有人知道如何通过编程实现吗


标题:“测试T's”
输出:
word_文件:
参考文件:临时文件
html_文件:
df_打印:第页
编辑器选项:
区块\输出\类型:内联
---
平原
====
```{r results='asis',echo=FALSE,message=FALSE}
图书馆(摘要)
图书馆(flextable)
设置主题(themegtsummary_jama())
a%
添加_p()%>%add_total()
```
柔性工作台
====
```{r results='asis',echo=FALSE,message=FALSE}
fl%font(fontname=“Bodoni 72”,part=“all”)%%>%fontsize(size=8,part=“all”)%%>%autofit(add_h=-.5)
佛罗里达州
```

目前,没有简单的方法可以做到这一点。但我已经包含了一个代码示例,我认为它确实解决了您的问题

对于{flextable},调用函数的顺序很重要。以_flextable()的形式运行
,然后追加其他调用似乎并不能满足您的需要

另一种方法是保存调用,在需要时插入新的flextable函数调用,然后评估调用。下面的例子就是这样做的

---
标题:“无标题”
输出:word\u文档
---
```{r设置,include=FALSE}
knitr::opts_chunk$set(echo=FALSE,message=FALSE)
```
```{r}
图书馆(tidyverse)
图书馆(摘要)
图书馆(flextable)
设置主题(themegtsummary_jama())
待定%
tbl_摘要(
missing=“ifany”,
by=am,
类型=列表(cyl~“分类”)
) %>%
粗体标签()%>%
添加p()%>%
添加_整体()
```
###默认Flextable
```{r}
gtsummary::as_flextable(待定)
```
###紧凑型柔性工作台
```{r}
#此函数插入额外的flextable调用,然后计算这些调用
更新_flextable_调用%
#在每个表达式之间连接%>%的表达式
purrr::reduce(函数(x,y)rlang::expr(!!x%%>%!!y))%%>%
#求值表达式
eval()
}
#使表紧凑的调用列表

那会很甜蜜。我将在上午创建一个问题。
title: "testing T´s"
output:
  word_document:
    reference_docx: temp.docx
  html_document:
    df_print: paged
editor_options:
  chunk_output_type: inline
---

Plain 
====
```{r results='asis',echo=FALSE,message=FALSE}
library(gtsummary)
library(flextable)
set_gtsummary_theme(theme_gtsummary_jama())
a <- mtcars[1:20,c(1,2,9,4)] 
  b <- tbl_summary(a,
    missing="ifany",
    by=am,
    type=list(cyl~"categorical"))%>% 
      bold_labels() %>%
  add_p() %>% add_overall()
```


Flextable
====
```{r results='asis',echo=FALSE,message=FALSE}
fl <- gtsummary::as_flextable(b) %>%  font(fontname = "Bodoni 72",part = "all") %>% fontsize(size=8,part="all") %>%  autofit(add_h = -.5) 
fl
```