Skip to contents

The cells_row_groups() function is used to target the table's row groups 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 'row_groups' location can be generated by the specifying a groupname_col in gt(), by introducing grouped data to gt() (by way of dplyr::group_by()), or, by specifying groups with the tab_row_group() function.


cells_row_groups(groups = everything())



The names of the row groups that are to be targeted.


A list object with the classes cells_row_groups 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())).


Use pizzaplace to create a gt table with grouped data. Add a summary with the summary_rows() function and then add a footnote to the "peppr_salami" row group label with tab_footnote() and with cells_row_groups() in locations.

pizzaplace %>%
  dplyr::filter(name %in% c("soppressata", "peppr_salami")) %>%
  dplyr::group_by(name, size) %>%
  dplyr::summarize(`Pizzas Sold` = dplyr::n(), .groups = "drop") %>%
  gt(rowname_col = "size", groupname_col = "name") %>%
    groups = TRUE,
    columns = `Pizzas Sold`,
    fns = list(TOTAL = "sum"),
    formatter = fmt_number,
    decimals = 0,
    use_seps = TRUE
  ) %>%
    footnote = "The Pepper-Salami.",
    cells_row_groups(groups = "peppr_salami")

This image of a table was generated from the first code example in the `cells_row_groups()` help file.

Function ID