In base R signif()
, halves are rounded to even, e.g.,
signif(11.5, 2)
and signif(12.5, 2)
are both rounded to 12.
This function rounds 12.5 to 13 (assuming digits = 2
). Negative halves
are rounded away from zero, e.g., signif(-2.5, 1)
is rounded to -3.
This may skew subsequent statistical analysis of the data, but may be
desirable in certain contexts. This function is implemented from
https://stackoverflow.com/a/1581007/; see that question and
comments for discussion of this issue.