Я работаю над отчетом, для которого мне нужно экспортировать большое количество похожих фреймов данных в красивые таблицы в Word. Мне удалось получить первый бит, создав список столбцов из flextable
объектов, используя purrr
(SO вопрос для справки).
Теперь я хотел бы записать все сгенерированные таблицы в документ с одним словом, что для отдельных объектов flextable
можно сделать с помощью следующей процедуры:
library(tidyverse)
library(flextable)
library(officer)
# Basic data frame
df <- data.frame(school = c("A", "B", "A", "B", "A", "B"),
students = c(round(runif(6, 1, 10), 0)),
grade = c(1, 1, 2, 2, 3, 3))
# Generating column list containing flextable objects
list <- df %>%
group_by(school) %>%
nest() %>%
mutate(ftables = map(data, flextable))
# Exporting single flextable object into Word
read_docx() %>% body_add_flextable(list$ftables[[2]]) %>% print("path")
Я, очевидно, хочу избежать необходимости делать это для всех строк в ftables
и, что важно, все таблицы должны быть записаны в один и тот же документ Word последовательно.
Я играл с функциями purrr
и циклами записи, но самое дальнее, что я сделал, это запись таблиц в отдельные документы Word.