# Setting a default rounding specification

If you ever get tired of having to write table_glue(..., rspec = your_rspec) and would rather just write table_glue(...), you should find this vignette helpful.

## Options hierarchy

When you call a function like table_glue() or table_value(), you may supply your own rounding specification or use a default rounding specification. The default rounding specification is based on the global options of your current R session. So to make a particular rounding specification the default specification, all you need to do is set your global options using the specification of your choice.

library(table.glue)

## Step 1 - Make your rounding specification

Any rounding specification will do.


rspec <- round_spec()
rspec <- round_using_decimal(rspec, digits = 5)

## Step 2 - Modify specification names

Modify each name so that it starts with ‘table.glue’. This protects you from mistakenly changing other package options.


names(rspec) <- paste('table.glue', names(rspec), sep = '.')

## Step 3 - Pass to options.

All you need to do now is use the options() function.


options(rspec)

table_value(pi)
#> [1] "3.14159"

## Step 4 - Revert!

Did you make a mistake? We all do. You can revert the options back to normal by setting force_default = TRUE in a new round_spec() function, and then repeating steps 2 and 3.


back_to_normal <- round_spec(force_default = TRUE)

names(back_to_normal) <- paste('table.glue', names(back_to_normal), sep = '.')

options(back_to_normal)

table_value(pi)
#> [1] "3.1"