Установите ширину для гибкой таблицы в документе Word с помощью officer

#r #flextable #officer

Вопрос:

У меня есть очень простая задача. Создайте гибкий (или qflexable) из фрейма данных. А затем распечатайте его в Word. Это таблица из 4 столбцов. Первый столбец представляет собой описательную метку, а остальные 3-это проценты или подсчеты. В первой строке под заголовком, в первом столбце, содержимое ячейки длинное, но не чрезмерное (около 10 слов, поэтому его следует обернуть 2-3 раза).

Когда я печатаю как qflextable (который, как я понял, просто гибок с автоматической подгонкой), я получаю таблицу, которая не помещается на странице, потому что она помещается в первую строку без упаковки. Когда я использовал flextable, независимо от того, что я делаю, это узкая таблица (каждый столбец около 1 дюйма), которая помещается и обертывает длинный текст, но я, похоже, не могу отрегулировать ее ширину от R.

В любом случае, если я открою документ Word и установлю свойства таблицы на 6,5 дюйма, что я и хотел бы сделать, таблица будет выглядеть великолепно.

Я не могу сказать, является ли это гибкой или служебной проблемой. И я, кажется, не могу понять, как использовать table_width() или prop_table(table_width(6.5, «в»)) в сочетании с таблицей. В файле справки нет параметра для таблицы-входные данные функции-это просто ширина и единица измерения.

Мой код приведен ниже:

 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) 
 

Была бы признательна любая помощь с синтаксисом для настройки ширины таблицы или даже для настройки ширины отдельных столбцов.

Ответ №1:

Был бы полезен воспроизводимый пример.

Что сработало для меня, так это специально установить ширину первого столбца:

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

Комментарии:

1. Это работает. Я пытался задать свойства таблицы, но я могу вручную задать первый столбец. Спасибо.