Add a row of new columns labels in footer part. Labels can be spanned along multiple columns, as merged cells.
Labels are associated with a number of columns to merge that default to one if not specified. In this case, you have to make sure that the number of labels is equal to the number of columns displayed.
The function can add only one single row by call.
Labels can be formatted with as_paragraph()
.
Arguments
- x
a flextable object
- top
should the row be inserted at the top or the bottom.
- values
values to add. It can be a
list
, acharacter()
vector or a call toas_paragraph()
.If it is a list, it can be a named list with the names of the columns of the original data.frame or the
colkeys
; this is the recommended method because it allows to keep the original data types and therefore allows to perform conditional formatting. If a character, columns of the original data.frame stored in the flextable object are changed tocharacter()
; this is often not an issue with footer and header but can be inconvenient if adding rows into body as it will change data types to character and prevent efficient conditional formatting.- colwidths
the number of columns to merge in the row for each label
See also
Other functions for row and column operations in a flextable:
add_body()
,
add_body_row()
,
add_footer()
,
add_footer_lines()
,
add_header()
,
add_header_row()
,
delete_columns()
,
delete_part()
,
delete_rows()
,
separate_header()
,
set_header_footer_df
,
set_header_labels()
Examples
library(flextable)
ft01 <- fp_text_default(color = "red")
ft02 <- fp_text_default(color = "orange")
pars <- as_paragraph(
as_chunk(c("(1)", "(2)"), props = ft02), " ",
as_chunk(
c(
"My tailor is rich",
"My baker is rich"
),
props = ft01
)
)
ft_1 <- flextable(head(mtcars))
ft_1 <- add_footer_row(ft_1,
values = pars,
colwidths = c(5, 6), top = FALSE
)
ft_1 <- add_footer_row(ft_1,
values = pars,
colwidths = c(3, 8), top = TRUE
)
ft_1
mpg
cyl
disp
hp
drat
wt
qsec
vs
am
gear
carb
21.0
6
160
110
3.90
2.620
16.46
0
1
4
4
21.0
6
160
110
3.90
2.875
17.02
0
1
4
4
22.8
4
108
93
3.85
2.320
18.61
1
1
4
1
21.4
6
258
110
3.08
3.215
19.44
1
0
3
1
18.7
8
360
175
3.15
3.440
17.02
0
0
3
2
18.1
6
225
105
2.76
3.460
20.22
1
0
3
1
(1) My tailor is rich
(2) My baker is rich
(1) My tailor is rich
(2) My baker is rich
ft_2 <- flextable(head(airquality))
ft_2 <- add_footer_row(ft_2,
values = c("Measure", "Time"),
colwidths = c(4, 2), top = TRUE
)
ft_2 <- theme_box(ft_2)
ft_2
Ozone
Solar.R
Wind
Temp
Month
Day
41
190
7.4
67
5
1
36
118
8.0
72
5
2
12
149
12.6
74
5
3
18
313
11.5
62
5
4
14.3
56
5
5
28
14.9
66
5
6
Measure
Time