【发布时间】:2016-10-13 13:53:31
【问题描述】:
我在 data.table 对象上使用duplicated 函数。它在两个看似相同的值上返回 FALSE。
更深入地研究它们,它们似乎有一个微小的差异(-1.867777e-14,但它可以是任何其他接近零的值)。
根据我的需要,这是一个错误。在不更改表中的值的情况下如何解决它?
【问题讨论】:
-
你可以
round()你的价值观。 -
是的,这就是我正在考虑的,只是想知道究竟如何(并非我的所有列都是数字的,我不确定我想要多精确)。但它应该会奏效。
-
你的意思是有些列是字符?也许你想基于字符串的模糊匹配来重复,见:stackoverflow.com/questions/11535625
-
字符列应该完全匹配。
-
如果您正在寻找要分组的数字之间的精确
tolerance距离,您可以使用自滚动连接给出roll=tolerance/roll=-tolerance和rollends=TRUE。请注意,在任何编程语言中,高浮点精度都是特定于平台的。
标签: r data.table precision