减少as_flex_table中的垂直填充

问题描述

  as_flex_table_ex1 <-
  trial %>%
  select(trt,age,grade) %>%
  tbl_summary(by = trt,missing = "no") %>%
  add_p() %>%
  as_flex_table() %>% 
  valign(j = 1,valign = "center")


save_as_docx(as_flex_table_ex1,path = "1.docx")

现在-当我用文字打开桌子时,I,II和III级之间的填充非常“通风”。如何减少这种填充?我尝试使用padding(as_flex_table_ex1,padding.top=0,padding.bottom = 0,part="all"),但是我看不到呈现的docx有什么区别。

解决方法

因此,经过一些研究。这似乎可以解决问题。

as_flex_table_ex1 <-
  trial %>%
  select(trt,age,grade) %>%
  tbl_summary(by = trt,missing = "no") %>%
  add_p() %>%
  as_flex_table() %>% 
  valign(j = 1,valign = "center") 
as_flex_table_ex2 <- as_flex_table_ex1 %>% 
  hrule(rule = "exact") %>% 
  height(height=max(dim_pretty(.,part="body")$heights+0.3*max(dim_pretty(.,part="body")$heights)))



print(as_flex_table_ex2,preview="docx")

dim_pretty因子乘以0.3是完全任意的。如果有人愿意找到一个可以自动识别不同字体和大小的清晰高度,那就太好了。

,

我遇到了同样的问题。这些是我用来尝试实现更紧凑的表的命令(大部分您已经尝试过)。在功能gtsummary::theme_gtsummary_compact()中可用。

x %>%
  flextable::fontsize(size = 8,part = "all") %>%
  flextable::padding(padding.top = 0,part = "all") %>%
  flextable::padding(padding.bottom = 0,part = "all")

我使用R Markdown Word模板取得了更大的成功,该模板有助于指导Word文档中的格式。 https://bookdown.org/yihui/rmarkdown-cookbook/word-template.html