Skip to contents

Replace all header or footer rows using a mapping data frame. Unlike set_header_labels() which only renames the bottom header row, this function rebuilds the entire header (or footer) structure.

The data.frame must contain a column whose values match flextable col_keys argument, this column will be used as join key. The other columns will be displayed as header or footer rows. The leftmost column is used as the top header/footer row and the rightmost column is used as the bottom header/footer row.

Usage

set_header_df(x, mapping = NULL, key = "col_keys")

set_footer_df(x, mapping = NULL, key = "col_keys")

Arguments

x

a 'flextable' object, see flextable-package to learn how to create 'flextable' object.

mapping

a data.frame specyfing for each colname content of the column.

key

column to use as key when joigning data_mapping.

Examples

typology <- data.frame(
  col_keys = c(
    "Sepal.Length", "Sepal.Width", "Petal.Length",
    "Petal.Width", "Species"
  ),
  what = c("Sepal", "Sepal", "Petal", "Petal", "Species"),
  measure = c("Length", "Width", "Length", "Width", "Species"),
  stringsAsFactors = FALSE
)

ft_1 <- flextable(head(iris))
ft_1 <- set_header_df(ft_1, mapping = typology, key = "col_keys")
ft_1 <- merge_h(ft_1, part = "header")
ft_1 <- merge_v(ft_1, j = "Species", part = "header")
ft_1 <- theme_vanilla(ft_1)
ft_1 <- fix_border_issues(ft_1)
ft_1

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

4.7

3.2

1.3

0.2

setosa

4.6

3.1

1.5

0.2

setosa

5.0

3.6

1.4

0.2

setosa

5.4

3.9

1.7

0.4

setosa

typology <- data.frame( col_keys = c( "Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species" ), unit = c("(cm)", "(cm)", "(cm)", "(cm)", ""), stringsAsFactors = FALSE ) ft_2 <- set_footer_df(ft_1, mapping = typology, key = "col_keys") ft_2 <- italic(ft_2, italic = TRUE, part = "footer") ft_2 <- theme_booktabs(ft_2) ft_2 <- fix_border_issues(ft_2) ft_2

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

4.7

3.2

1.3

0.2

setosa

4.6

3.1

1.5

0.2

setosa

5.0

3.6

1.4

0.2

setosa

5.4

3.9

1.7

0.4

setosa

(cm)

(cm)

(cm)

(cm)