cols_align: Set the alignment of columns

View source: R/modify_columns.R

cols_alignR Documentation

Set the alignment of columns


The individual alignments of columns (which includes the column labels and all of their data cells) can be modified. We have the option to align text to the left, the center, and the right. In a less explicit manner, we can allow gt to automatically choose the alignment of each column based on the data type (with the auto option).


  align = c("auto", "left", "center", "right"),
  columns = everything()



The gt table data object

⁠obj:<gt_tbl>⁠ // required

This is the gt table object that is commonly created through use of the gt() function.


Alignment type

⁠singl-kw:[auto|left|center|right]⁠ // default: "auto"

This can be any of "center", "left", or "right" for center-, left-, or right-alignment. Alternatively, the "auto" option (the default), will automatically align values in columns according to the data type (see the Details section for specifics on which alignments are applied).


Columns to target

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

The columns for which the alignment should be applied. 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(). By default this is set to everything() which means that the chosen alignment affects all columns.


When you create a gt table object using gt(), automatic alignment of column labels and their data cells is performed. By default, left-alignment is applied to columns of class character, Date, or POSIXct; center-alignment is for columns of class logical, factor, or list; and right-alignment is used for the numeric and integer columns.


An object of class gt_tbl.


Let's use countrypops to create a small gt table. We can change the alignment of the population column with cols_align(). In this example, the label and body cells of population will be aligned to the left.

countrypops |>
  dplyr::select(-contains("code")) |>
  dplyr::filter(country_name == "San Marino") |>
  dplyr::slice_tail(n = 5) |>
  gt(rowname_col = "year", groupname_col = "country_name") |>
    align = "left",
    columns = population
This image of a table was generated from the first code example in the `cols_align()` help file.

Function ID


Function Introduced

v0.2.0.5 (March 31, 2020)

See Also

Other column modification functions: cols_add(), cols_align_decimal(), cols_hide(), cols_label_with(), cols_label(), cols_merge_n_pct(), cols_merge_range(), cols_merge_uncert(), cols_merge(), cols_move_to_end(), cols_move_to_start(), cols_move(), cols_nanoplot(), cols_unhide(), cols_units(), cols_width()

gt documentation built on June 22, 2024, 11:11 a.m.