Yes I know why we always round to the nearest even number if we are in the exact middle (i.e. 2.5 becomes 2) of two numbers. But when I want to evaluate data for some people they don’t want this behaviour. What is the simplest method to get this:
x <- seq(0.5,9.5,by=1)
round(x)
to be 1,2,3,…,10 and not 0,2,2,4,4,…,10.
Edit: To clearify: 1.4999 should be 1 after rounding. (I thought this would be obvious)
This is not my own function, and unfortunately,
I can’t find where I got it at the moment(originally found as an anonymous comment at the Statistically Significant blog), but it should help with what you need.xis the object you want to round, anddigitsis the number of digits you are rounding to.An Example
(Thanks @Gregor for the addition of
+ sqrt(.Machine$double.eps).)