Skip to contents

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.

Usage

cells_column_labels(columns = everything())

Arguments

columns

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().

Value

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).

Examples

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 |>
  dplyr::filter(
    latitude == 20 & month == "jan" &
      !is.na(sza)
  ) |>
  dplyr::select(-latitude, -month) |>
  gt() |>
  tab_footnote(
    footnote = "True solar time.",
    locations = cells_column_labels(
      columns = tst
    )
  ) |>
  tab_footnote(
    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

8-14

Function Introduced

v0.2.0.5 (March 31, 2020)