flextable:如何将组标题仅显示为值而不是变量名称:值

flextable: How to show group headings as the value only rather as the variable name: value

library(tidyverse)
library(flextable)

MWE

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)

as_flextable(tib) 

如何删除分组标题的 var_group: 部分,以便只剩下 a、b 和 c?

这是我希望看到的(不担心 hlines - 重要的是文本):

不是这个:

您需要使用 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()

这也适用:

library(tidyverse)
library(flextable)

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)

as_flextable(tib, hide_grouplabel = TRUE)