This function will split selected delimited column names such that the first components (LHS) are promoted to being spanner column labels, and the secondary components (RHS) will become the column labels. Please note that reference to individual columns must continue to be the column names from the input table data (which are unique by necessity).

tab_spanner_delim(data, delim, columns = NULL, gather = TRUE)

Arguments

data

A table object that is created using the gt() function.

delim

The delimiter to use to split an input column name. The delimiter supplied will be autoescaped for the internal splitting procedure. The first component of the split will become the group name and the second component will be the column label.

columns

An optional vector of column names that this operation should be limited to. The default is to consider all columns in the table.

gather

An option to move the specified columns such that they are unified under the spanner column label. Ordering of the moved-into-place columns will be preserved in all cases.

Value

An object of class gt_tbl.

Details

If we look to the column names in the iris dataset as an example of how tab_spanner_delim() might be useful, we find the names Sepal.Length, Sepal.Width, Petal.Length, Petal.Width. From this naming system, it's easy to see that the Sepal and Petal can group together the repeated common Length and Width values. In your own datasets, we can avoid a lengthy relabeling with cols_label() if column names can be fashioned beforehand to contain both the spanner column label and the column label. An additional advantage is that the column names in the input table data remain unique even though there may eventually be repeated column labels in the rendered output table).

Figures

See also

Examples

# Use `iris` to create a gt table; split # any columns that are dot-separated # between column spanner labels (first # part) and column labels (second part) tab_1 <- iris %>% dplyr::group_by(Species) %>% dplyr::slice(1:4) %>% gt() %>% tab_spanner_delim(delim = ".")