With numeric values in a gt table, we can perform percentage-based
formatting. It is assumed the input numeric values are proportional values
and, in this case, the values will be automatically multiplied by 100
before decorating with a percent sign (the other case is accommodated though
setting the scale_values to FALSE) For more control over percentage
formatting, we can use the following options:
percent sign placement: the percent sign can be placed after or before the values and a space can be inserted between the symbol and the value.
decimals: choice of the number of decimal places, option to drop trailing zeros, and a choice of the decimal symbol
digit grouping separators: options to enable/disable digit separators and provide a choice of separator symbol
pattern: option to use a text pattern for decoration of the formatted values
locale-based formatting: providing a locale ID will result in number formatting specific to the chosen locale
fmt_percent( data, columns, rows = everything(), decimals = 2, drop_trailing_zeros = FALSE, drop_trailing_dec_mark = TRUE, scale_values = TRUE, use_seps = TRUE, accounting = FALSE, pattern = "{x}", sep_mark = ",", dec_mark = ".", incl_space = FALSE, placement = "right", locale = NULL )
| data | A table object that is created using the |
|---|---|
| columns | The columns to format. Can either be a series of column names
provided in |
| rows | Optional rows to format. Providing either |
| decimals | An option to specify the exact number of decimal places to
use. The default number of decimal places is |
| drop_trailing_zeros | A logical value that allows for removal of trailing zeros (those redundant zeros after the decimal mark). |
| drop_trailing_dec_mark | A logical value that determines whether decimal
marks should always appear even if there are no decimal digits to display
after formatting (e.g, |
| scale_values | Should the values be scaled through multiplication by
100? By default this is |
| use_seps | An option to use digit group separators. The type of digit
group separator is set by |
| accounting | An option to use accounting style for values. With |
| pattern | A formatting pattern that allows for decoration of the
formatted value. The value itself is represented by |
| sep_mark | The mark to use as a separator between groups of digits
(e.g., using |
| dec_mark | The character to use as a decimal mark (e.g., using |
| incl_space | An option for whether to include a space between the value and the percent sign. The default is to not introduce a space character. |
| placement | The placement of the percent sign. This can be either be
|
| locale | An optional locale ID that can be used for formatting the value
according the locale's rules. Examples include |
An object of class gt_tbl.
Targeting of values is done through columns and additionally by rows (if
nothing is provided for rows then entire columns are selected). Conditional
formatting is possible by providing a conditional expression to the rows
argument. See the Arguments section for more information on this.

3-3
Other Format Data:
data_color(),
fmt_bytes(),
fmt_currency(),
fmt_datetime(),
fmt_date(),
fmt_markdown(),
fmt_missing(),
fmt_number(),
fmt_passthrough(),
fmt_scientific(),
fmt_time(),
fmt(),
text_transform()
# Use `pizzaplace` to create a gt table; # format the `frac_of_quota` column to # display values as percentages tab_1 <- pizzaplace %>% dplyr::mutate(month = as.numeric(substr(date, 6, 7))) %>% dplyr::group_by(month) %>% dplyr::summarize(pizzas_sold = dplyr::n()) %>% dplyr::ungroup() %>% dplyr::mutate(frac_of_quota = pizzas_sold / 4000) %>% gt(rowname_col = "month") %>% fmt_percent( columns = frac_of_quota, decimals = 1 )