我正在重新调整一组数字,并希望避免为重新调整的数字之和获得浮点零:
x <- c(-5, 1, 8)
y <- scale(x)
sum(y)
# [1] 1.249001e-16
有没有办法解决这个问题以强制总和为零?我不关心超过小数点后三位的精度。
我正在重新调整一组数字,并希望避免为重新调整的数字之和获得浮点零:
x <- c(-5, 1, 8)
y <- scale(x)
sum(y)
# [1] 1.249001e-16
有没有办法解决这个问题以强制总和为零?我不关心超过小数点后三位的精度。
我认为你不应该只是在某个时候“切换”到整数。缩放是用浮点数计算的,因此不是 100% 精确的。将某些值强制为 0 将表明精度不可用,因此应避免使用。
如果您需要比较浮点值,请isTRUE(all.equal(...))
按照 R 文档的建议使用。https://stat.ethz.ch/R-manual/R-devel/library/base/html/all.equal.html