在带有officer的Word文档中设置flextable的宽度

Set width for flextable in a Word document with officer

我有一个非常简单的任务。从数据框创建一个 flextable(或 qflextable)。然后在Word中打印出来。它是一个 4 列 table。第一列是描述性标签,其他 3 列是百分比或计数。表头下方第一行第一列,单元格内容较长但不过分(约10个字,应绕行2-3次)。

当我打印为 qflextable(根据我收集的信息,这只是具有自动调整功能的 flextable),我得到一个 table 不适合页,因为它适合第一行而不换行。当我使用flextable时,无论我做什么,它都是一个窄的table(每列大约1")适合并包裹长文本,但我似乎无法调整它R.

的宽度

无论哪种方式,如果我打开 Word 文档,并将 table 属性设置为 6.5 英寸,这是我想要做的,table 看起来很棒。

我不知道这是 flextable 还是 officer 的问题。而且我似乎无法弄清楚如何将 table_width() 或 prop_table(table_width(6.5, "in")) 与 table 结合使用。帮助文件没有 table 的参数——函数输入只是宽度和单位。

我的代码如下:

at <- flextable(at)

tabdoc <- read_docx(path = "path here"))
tabdoc <- 
    body_add_par(tabdoc, value = sectcap, style = "heading 1") %>% 
    body_add_caption(table1cap) %>% 
    body_add_flextable(at) 

如能提供有关设置 table 宽度甚至设置单个列宽的语法方面的任何帮助,我们将不胜感激。

一个可重现的例子会很有用。

对我有用的是专门设置第一列的宽度:

at <- width(qflextable(at), j=1, width=4)