With numeric values in a vector, we can transform those to Roman numerals, rounding values as necessary.
Arguments
- x
The input vector
vector(numeric|integer)
// requiredThis is the input vector that will undergo transformation to a character vector of the same length. Values within the vector will be formatted.
- case
Use uppercase or lowercase letters
singl-kw:[upper|lower]
// default:"upper"
Should Roman numerals should be rendered as uppercase (
"upper"
) or lowercase ("lower"
) letters? By default, this is set to"upper"
.- pattern
Specification of the formatting pattern
scalar<character>
// default:"{x}"
A formatting pattern that allows for decoration of the formatted value. The formatted value is represented by the
{x}
(which can be used multiple times, if needed) and all other characters will be interpreted as string literals.- output
Output format
singl-kw:[auto|plain|html|latex|rtf|word]
// default:"auto"
The output style of the resulting character vector. This can either be
"auto"
(the default),"plain"
,"html"
,"latex"
,"rtf"
, or"word"
. In knitr rendering (i.e., Quarto or R Markdown), the"auto"
option will choose the correctoutput
value
Examples
Let's create a numeric vector for the next few examples:
num_vals <- c(1, 4, 5, 8, 12, 20, 0, -5, 1.3, NA)
Using vec_fmt_roman()
with the default options will create a character
vector with values rendered as Roman numerals. Zero values will be rendered
as "N"
, any NA
values remain as NA
values, negative values will be
automatically made positive, and values greater than or equal to 3900 will be
rendered as "ex terminis"
. The rendering context will be autodetected
unless specified in the output
argument (here, it is of the "plain"
output type).
vec_fmt_roman(num_vals)
We can also use vec_fmt_roman()
with the case = "lower"
option to create
a character vector with values rendered as lowercase Roman numerals.
vec_fmt_roman(num_vals, case = "lower")
As a last example, one can wrap the values in a pattern with the pattern
argument. Note here that NA
values won't have the pattern applied.
vec_fmt_roman(num_vals, case = "lower", pattern = "{x}.")
See also
The variant function intended for formatting gt table data:
fmt_roman()
.
Other vector formatting functions:
vec_fmt_bytes()
,
vec_fmt_currency()
,
vec_fmt_date()
,
vec_fmt_datetime()
,
vec_fmt_duration()
,
vec_fmt_engineering()
,
vec_fmt_fraction()
,
vec_fmt_index()
,
vec_fmt_integer()
,
vec_fmt_markdown()
,
vec_fmt_number()
,
vec_fmt_partsper()
,
vec_fmt_percent()
,
vec_fmt_scientific()
,
vec_fmt_spelled_num()
,
vec_fmt_time()