separate_header: Split column names using a separator into multiple rows

View source: R/augment_rows.R

separate_headerR Documentation

Split column names using a separator into multiple rows

Description

This function is used to separate and place individual labels in their own rows if your variable names contain multiple delimited labels. add_header illustration

Usage

separate_header(
  x,
  opts = c("span-top", "center-hspan", "bottom-vspan", "default-theme"),
  split = "[_\\.]",
  fixed = FALSE
)

Arguments

x

a flextable object

opts

Optional treatments to apply to the resulting header part. This should be a character vector with support for multiple values.

Supported values include:

  • "span-top": This operation spans empty cells with the first non-empty cell, applied column by column.

  • "center-hspan": Center the cells that are horizontally spanned.

  • "bottom-vspan": Aligns to the bottom the cells treated at the when "span-top" is applied.

  • "default-theme": Applies the theme set in set_flextable_defaults(theme_fun = ...) to the new header part.

split

a regular expression (unless fixed = TRUE) to use for splitting.

fixed

logical. If TRUE match split exactly, otherwise use regular expressions.

See Also

Other functions for row and column operations in a flextable: add_body(), add_body_row(), add_footer(), add_footer_lines(), add_footer_row(), add_header(), add_header_row(), delete_columns(), delete_part(), delete_rows(), set_header_footer_df, set_header_labels()

Examples

library(flextable)

x <- data.frame(
  Species = as.factor(c("setosa", "versicolor", "virginica")),
  Sepal.Length_mean = c(5.006, 5.936, 6.588),
  Sepal.Length_sd = c(0.35249, 0.51617, 0.63588),
  Sepal.Width_mean = c(3.428, 2.77, 2.974),
  Sepal.Width_sd = c(0.37906, 0.3138, 0.3225),
  Petal.Length_mean = c(1.462, 4.26, 5.552),
  Petal.Length_sd = c(0.17366, 0.46991, 0.55189),
  Petal.Width_mean = c(0.246, 1.326, 2.026),
  Petal.Width_sd = c(0.10539, 0.19775, 0.27465)
)

ft_1 <- flextable(x)
ft_1 <- colformat_double(ft_1, digits = 2)
ft_1 <- theme_box(ft_1)
ft_1 <- separate_header(
  x = ft_1,
  opts = c("span-top", "bottom-vspan")
)
ft_1

davidgohel/flextable documentation built on April 18, 2024, 11:37 a.m.