在R中使用round(x,2)时的有趣结果

时间:2018-10-31 21:26:51

标签: r

> x <- 1:9
> y <- x + 0.055000
> z <- round(y,2)
> cat(z)
1.05 2.06 3.06 4.05 5.05 6.05 7.05 8.05 9.05

在数字2和3上,其舍入为2.06和3.06。其他数字四舍五入为.05。我想知道为什么?如果我添加0.0550001而不是0.055000,则所有内容均四舍五入为.06。

这在我的Mac(Sierra)和PC(Win10 / Edu)上都发生。我都运行R 3.5.1。

谢谢。

1 个答案:

答案 0 :(得分:0)

做得很好,这确实不是我所期望的。 z <- signif(y,3)解决了这个问题。

> cat(z)
1.06 2.06 3.06 4.06 5.06 6.06 7.06 8.06 9.06