With numeric values in a gt table, we can perform formatting so that the targeted values are presented in scientific notation. We can exert finer finer control on the formatting with the following options:

  • decimals: choice of the number of decimal places, option to drop trailing zeros, and a choice of the decimal symbol

  • scaling: we can choose to scale targeted values by a multiplier value

  • pattern: option to use a text pattern for decoration of the formatted values

  • locale-based formatting: providing a locale ID will result in formatting specific to the chosen locale

fmt_scientific(data, columns, rows = NULL, decimals = 2,
  drop_trailing_zeros = FALSE, scale_by = 1, pattern = "{x}",
  sep_mark = ",", dec_mark = ".", locale = NULL)

Arguments

data

a table object that is created using the gt() function.

columns

the columns to format. Can either be a series of column names provided in vars(), a vector of column indices, or a helper function focused on selections. The select helper functions are: starts_with(), ends_with(), contains(), matches(), one_of(), and everything().

rows

optional rows to format. Not providing any value results in all rows in columns being formatted. Can either be a vector of row captions provided c(), a vector of row indices, or a helper function focused on selections. The select helper functions are: starts_with(), ends_with(), contains(), matches(), one_of(), and everything(). We can also use expressions to filter down to the rows we need (e.g., [colname_1] > 100 & [colname_2] < 50).

decimals

an option to specify the exact number of decimal places to use. The default number of decimal places is 2.

drop_trailing_zeros

a logical value that allows for removal of trailing zeros (those redundant zeros after the decimal mark).

scale_by

a value to scale the input. The default is 1.0.

pattern

a formatting pattern that allows for decoration of the formatted value. The value itself is represented by {x} and all other characters are taken to be string literals.

sep_mark

the mark to use as a separator between groups of digits (e.g., using sep_mark = "," with 1000 would result in a formatted value of 1,000).

dec_mark

the character to use as a decimal mark (e.g., using dec_mark = "," with 0.152 would result in a formatted value of 0,152).

locale

an optional locale ID that can be used for formatting the value according the locale's rules. Examples include "en_US" for English (United States) and "fr_FR" for French (France). The use of a valid locale ID will override any values provided in sep_mark and dec_mark.

Value

an object of class gt_tbl.

Details

Targeting of values is done through columns and additionally by rows (if nothing is provided for rows then entire columns are selected). A number of helper functions exist to make targeting more effective. Conditional formatting is possible by providing a conditional expression to the rows argument. See the Arguments section for more information on this.

Figures

See also

Examples

# Use `exibble` to create a gt table; # format the `num` column as partially # numeric and partially in scientific # notation tab_1 <- exibble %>% gt() %>% fmt_number( columns = vars(num), rows = num > 500, decimals = 1, scale_by = 1/1000, pattern = "{x}K" ) %>% fmt_scientific( columns = vars(num), rows = num <= 500, decimals = 1 )