Вам нужно использовать flextable::compose
, чтобы иметь возможность перезаписывать значения по умолчанию. Важно посмотреть на данные, созданные as_grouped_data, которые будут использоваться. В группы были добавлены фиктивные строки, и мы можем использовать этот столбец.
library(tidyverse)
library(flextable)
#>
#> Attachement du package : 'flextable'
#> The following object is masked from 'package:purrr':
#>
#> compose
tib <- tibble(var_group = c("a", "a", "b", "c", "c", "c"),
var = 1:6)
tib <- as_grouped_data(x = tib, groups = c("var_group"), columns = NULL)
tib
#> var_group var
#> 1 a NA
#> 4 <NA> 1
#> 5 <NA> 2
#> 2 b NA
#> 6 <NA> 3
#> 3 c NA
#> 7 <NA> 4
#> 8 <NA> 5
#> 9 <NA> 6
tib %>%
as_flextable( ) %>%
flextable::compose(
i = ~ !is.na(var_group), # when var_group not NA
j = "var", # on column "var"
# create a paragraph containing a chunk containing value of `var_group`
value = as_paragraph(as_chunk(var_group))) %>%
hline(i = ~ !is.na(var_group), border = officer::fp_border() ) %>%
autofit()