sub_values | R Documentation |
Should you need to replace specific cell values with custom text,
sub_values()
can be good choice. We can target cells for replacement
through value, regex, and custom matching rules.
sub_values(
data,
columns = everything(),
rows = everything(),
values = NULL,
pattern = NULL,
fn = NULL,
replacement = NULL,
escape = TRUE
)
data |
The gt table data object
This is the gt table object that is commonly created through use of the
|
columns |
Columns to target
The columns to which substitution operations are constrained. Can either
be a series of column names provided in |
rows |
Rows to target
In conjunction with |
values |
Values to match on
The specific value or values that should be replaced with a |
pattern |
Regex pattern to match with
A regex pattern that can target solely those values in |
fn |
Function to return logical values
A supplied function that operates on |
replacement |
Replacement value for matches
The replacement value for any cell values matched by either |
escape |
Text escaping
An option to escape replacement text according to the final output format
of the table. For example, if a LaTeX table is to be generated then LaTeX
escaping would be performed on the replacements during rendering. By
default this is set to |
An object of class gt_tbl
.
Let's create an input table with three columns. This contains an assortment
of values that could potentially undergo some substitution via
sub_values()
.
tbl <- dplyr::tibble( num_1 = c(-0.01, 74, NA, 0, 500, 0.001, 84.3), int_1 = c(1L, -100000L, 800L, 5L, NA, 1L, -32L), lett = LETTERS[1:7] ) tbl #> # A tibble: 7 x 3 #> num_1 int_1 lett #> <dbl> <int> <chr> #> 1 -0.01 1 A #> 2 74 -100000 B #> 3 NA 800 C #> 4 0 5 D #> 5 500 NA E #> 6 0.001 1 F #> 7 84.3 -32 G
Values in the table body cells can be replaced by specifying which values
should be replaced (in values
) and what the replacement value should be.
It's okay to search for numerical or character values across all columns and
the replacement value can also be of the numeric
or character
types.
tbl |> gt() |> sub_values(values = c(74, 500), replacement = 150) |> sub_values(values = "B", replacement = "Bee") |> sub_values(values = 800, replacement = "Eight hundred")
We can also use the pattern
argument to target cell values for replacement
in character
-based columns.
tbl |> gt() |> sub_values(pattern = "A|C|E", replacement = "Ace")
For the most flexibility, it's best to use the fn
argument. With that you
need to ensure that the function you provide will return a logical vector
when invoked on a column of cell values, taken as x
(and, the length of
that vector must match the length of x
).
tbl |> gt() |> sub_values( fn = function(x) x >= 0 & x < 50, replacement = "Between 0 and 50" )
3-35
v0.8.0
(November 16, 2022)
Other data formatting functions:
data_color()
,
fmt()
,
fmt_auto()
,
fmt_bins()
,
fmt_bytes()
,
fmt_chem()
,
fmt_country()
,
fmt_currency()
,
fmt_date()
,
fmt_datetime()
,
fmt_duration()
,
fmt_email()
,
fmt_engineering()
,
fmt_flag()
,
fmt_fraction()
,
fmt_icon()
,
fmt_image()
,
fmt_index()
,
fmt_integer()
,
fmt_markdown()
,
fmt_number()
,
fmt_partsper()
,
fmt_passthrough()
,
fmt_percent()
,
fmt_roman()
,
fmt_scientific()
,
fmt_spelled_num()
,
fmt_tf()
,
fmt_time()
,
fmt_units()
,
fmt_url()
,
sub_large_vals()
,
sub_missing()
,
sub_small_vals()
,
sub_zero()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.