cells_column_labels: Location helper for targeting the column labels

View source: R/helpers.R

cells_column_labelsR Documentation

Location helper for targeting the column labels


The cells_column_labels() function is used to target the table's column labels when applying a footnote with tab_footnote() or adding custom style with tab_style(). The function is expressly used in each of those functions' locations argument. The 'column_labels' location is present by default in every gt table.


cells_column_labels(columns = everything())



Columns to target

⁠<column-targeting expression>⁠ // default: everything()

The columns to which targeting operations are constrained. Can either be a series of column names provided in c(), a vector of column indices, or a select helper function. Examples of select helper functions include starts_with(), ends_with(), contains(), matches(), one_of(), num_range(), and everything().


A list object with the classes cells_column_labels and location_cells.

Overview of location helper functions

Location helper functions can be used to target cells with virtually any function that has a locations argument. Here is a listing of all of the location helper functions, with locations corresponding roughly from top to bottom of a table:

  • cells_title(): targets the table title or the table subtitle depending on the value given to the groups argument ("title" or "subtitle").

  • cells_stubhead(): targets the stubhead location, a cell of which is only available when there is a stub; a label in that location can be created by using the tab_stubhead() function.

  • cells_column_spanners(): targets the spanner column labels with the spanners argument; spanner column labels appear above the column labels.

  • cells_column_labels(): targets the column labels with its columns argument.

  • cells_row_groups(): targets the row group labels in any available row groups using the groups argument.

  • cells_stub(): targets row labels in the table stub using the rows argument.

  • cells_body(): targets data cells in the table body using intersections of columns and rows.

  • cells_summary(): targets summary cells in the table body using the groups argument and intersections of columns and rows.

  • cells_grand_summary(): targets cells of the table's grand summary using intersections of columns and rows

  • cells_stub_summary(): targets summary row labels in the table stub using the groups and rows arguments.

  • cells_stub_grand_summary(): targets grand summary row labels in the table stub using the rows argument.

  • cells_footnotes(): targets all footnotes in the table footer (cannot be used with tab_footnote()).

  • cells_source_notes(): targets all source notes in the table footer (cannot be used with tab_footnote()).

When using any of the location helper functions with an appropriate function that has a locations argument (e.g., tab_style()), multiple locations can be targeted by enclosing several ⁠cells_*()⁠ helper functions in a list() (e.g., list(cells_body(), cells_grand_summary())).

Targeting columns with the columns argument

The columns argument allows us to target a subset of columns contained in the table. We can declare column names in c() (with bare column names or names in quotes) or we can use tidyselect-style expressions. This can be as basic as supplying a select helper like starts_with(), or, providing a more complex incantation like

where(~ is.numeric(.x) && max(.x, na.rm = TRUE) > 1E6)

which targets numeric columns that have a maximum value greater than 1,000,000 (excluding any NAs from consideration).


Let's use a small portion of the sza dataset to create a gt table. Add footnotes to the column labels with tab_footnote() and cells_column_labels() in locations.

sza |>
    latitude == 20 & month == "jan" &
  ) |>
  dplyr::select(-latitude, -month) |>
  gt() |>
    footnote = "True solar time.",
    locations = cells_column_labels(
      columns = tst
  ) |>
    footnote = "Solar zenith angle.",
    locations = cells_column_labels(
      columns = sza
This image of a table was generated from the first code example in the `cells_column_labels()` help file.

Function ID


Function Introduced

v0.2.0.5 (March 31, 2020)

See Also

Other helper functions: adjust_luminance(), cell_borders(), cell_fill(), cell_text(), cells_body(), cells_column_spanners(), cells_footnotes(), cells_grand_summary(), cells_row_groups(), cells_source_notes(), cells_stub_grand_summary(), cells_stub_summary(), cells_stubhead(), cells_stub(), cells_summary(), cells_title(), currency(), default_fonts(), define_units(), escape_latex(), from_column(), google_font(), gt_latex_dependencies(), html(), md(), nanoplot_options(), pct(), px(), random_id(), stub(), system_fonts()

gt documentation built on Oct. 7, 2023, 9:07 a.m.