The stored numeric values are never rounded; only their display
changes, so downstream arithmetic on the returned object (confidence
interval widths, further calculations) uses full precision.
The same formatting applies to every dmar_tbl, whether the
table is long (a term column beside a single value or
estimate column) or wide (a leading label column such as
term, effect, or sample_type beside several
typed numeric columns). Each numeric column is formatted on its own
terms, so the shape of the table does not matter.
Display precision is controlled by the digits argument or,
globally, by options(dmar.digits = ). The default is 3
significant figures. (The option is dot-named because that is the R
convention for package options, for example dplyr.width and
knitr.table.format; it is not a function or argument name and
so is outside the package's snake_case rule.)
p-values are shown to a fixed number of decimal places (four
by default, set by digits_p) rather than to significant
figures, which is the conventional way to report them. A
p-value smaller than the smallest magnitude those decimals
can represent prints as “< 0.0001” instead of rounding to
0.0000. A column is treated as holding p-values when
it is named p_value, p.value, p_adjusted (the
multiplicity-adjusted case, as in ci_dunnett), or
p_chi_square (the exact-fit test of a fitted model, as in
measurement_invariance); in a long-format
table whose quantities share a single value column, the rows
to format this way are named by the producing function through a
p_terms attribute.
A few quantities read better at a fixed number of decimal places than
at significant figures even though they are not p-values:
information criteria such as AIC and BIC, and log-likelihoods, where a
model comparison difference of a few points would be rounded away by
three significant figures (an AIC of 2284.830 would otherwise print as
2280). The producing function names these rows through a
fixed_terms attribute, and they print to digits_fixed
decimal places (three by default).
To see more precision than the display shows, raise digits
(for example print(x, digits = 8)) or read the columns
directly, since the stored values are never rounded: x$value
or x[["p_value"]] returns the numbers at full precision.