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)