This vignette introduces how to create multi level headers.
library(ftExtra)
#> Registered S3 method overwritten by 'ftExtra':
#> method from
#> as_flextable.data.frame flextable
Sepal.Length |
Sepal.Width |
Petal.Length |
Petal.Width |
Species |
---|---|---|---|---|
5.1 |
3.5 |
1.4 |
0.2 |
setosa |
4.9 |
3.0 |
1.4 |
0.2 |
setosa |
The split_header()
function generates multi-level
headers by separating original headers (row names) by delimiters.
ft %>% split_header()
Sepal |
Sepal |
Petal |
Petal |
Species |
---|---|---|---|---|
Length |
Width |
Length |
Width |
|
5.1 |
3.5 |
1.4 |
0.2 |
setosa |
4.9 |
3.0 |
1.4 |
0.2 |
setosa |
The sep
argument defines delimiters by regular
expression. The default delimiters are .
and
_
. Let’s see what happens when seop = "e"
ft %>% split_header(sep = "e")
S |
S |
P |
P |
Sp |
---|---|---|---|---|
pal.L |
pal.Width |
tal.L |
tal.Width |
ci |
ngth |
ngth |
s |
||
5.1 |
3.5 |
1.4 |
0.2 |
setosa |
4.9 |
3.0 |
1.4 |
0.2 |
setosa |
The span_header()
function also generates multi-level
headers. Unlike the split_header()
function, the
span_header()
function merges adjacent headers if they have
same values.
ft %>% span_header()
Sepal |
Petal |
Species |
||
---|---|---|---|---|
Length |
Width |
Length |
Width |
|
5.1 |
3.5 |
1.4 |
0.2 |
setosa |
4.9 |
3.0 |
1.4 |
0.2 |
setosa |