Location helper for targeting the stub cells in a grand summary
Source:R/helpers.R
cells_stub_grand_summary.Rd
The cells_stub_grand_summary()
function is used to target the stub cells of
a grand summary and it is useful when applying a footnote with
tab_footnote()
or adding custom styles with tab_style()
. The function is
expressly used in each of those functions' locations
argument. The
'stub_grand_summary' location is generated by the grand_summary_rows()
function.
Usage
cells_stub_grand_summary(rows = everything())
Arguments
- rows
Rows to target
<row-targeting expression>
// default:everything()
We can specify which rows should be targeted. The default
everything()
results in all rows incolumns
being formatted. Alternatively, we can supply a vector of row IDs withinc()
, a vector of row indices, or a select helper function. Examples of select helper functions includestarts_with()
,ends_with()
,contains()
,matches()
,one_of()
,num_range()
, andeverything()
. We can also use expressions to filter down to the rows we need (e.g.,[colname_1] > 100 & [colname_2] < 50
).
Targeting grand summary stub cells with rows
Targeting the stub cells of a grand summary row is done through the rows
argument. Grand summary cells in the stub will have ID values that can be
used much like column names in the columns
-targeting scenario. We can use
simpler tidyselect-style expressions (the select helpers should work well
here) and we can use quoted row identifiers in c()
. It's also possible to
use row indices (e.g., c(3, 5, 6)
) that correspond to the row number of a
grand summary row.
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 thegroups
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 thetab_stubhead()
function.cells_column_spanners()
: targets the spanner column labels with thespanners
argument; spanner column labels appear above the column labels.cells_column_labels()
: targets the column labels with itscolumns
argument.cells_row_groups()
: targets the row group labels in any available row groups using thegroups
argument.cells_stub()
: targets row labels in the table stub using therows
argument.cells_body()
: targets data cells in the table body using intersections ofcolumns
androws
.cells_summary()
: targets summary cells in the table body using thegroups
argument and intersections ofcolumns
androws
.cells_grand_summary()
: targets cells of the table's grand summary using intersections ofcolumns
androws
cells_stub_summary()
: targets summary row labels in the table stub using thegroups
androws
arguments.cells_stub_grand_summary()
: targets grand summary row labels in the table stub using therows
argument.cells_footnotes()
: targets all footnotes in the table footer (cannot be used withtab_footnote()
).cells_source_notes()
: targets all source notes in the table footer (cannot be used withtab_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())
).
Examples
Use a portion of the countrypops
dataset to create a gt table. Add
some styling to a grand summary stub cell with the tab_style()
function and
using cells_stub_grand_summary()
in the locations
argument.
countrypops |>
dplyr::filter(country_name == "Spain", year < 1970) |>
dplyr::select(-contains("country")) |>
gt(rowname_col = "year") |>
fmt_number(
columns = population,
decimals = 0
) |>
grand_summary_rows(
columns = population,
fns = list(change = ~max(.) - min(.)),
fmt = ~ fmt_integer(.)
) |>
tab_style(
style = cell_text(weight = "bold", transform = "uppercase"),
locations = cells_stub_grand_summary(rows = "change")
)
See also
Other helper functions:
adjust_luminance()
,
cell_borders()
,
cell_fill()
,
cell_text()
,
cells_body()
,
cells_column_labels()
,
cells_column_spanners()
,
cells_footnotes()
,
cells_grand_summary()
,
cells_row_groups()
,
cells_source_notes()
,
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()