我在data.table对象上使用duplicated
函数。它返回FALSE
两个似乎相同的值。复制一个微小的差异
更深入地看,它们看起来有微小的差别(-1.867777e-14,但它可以是任何其他接近零的值)。
我的需要,这是一个错误。你如何解决它,而不改变表中的值?
我在data.table对象上使用duplicated
函数。它返回FALSE
两个似乎相同的值。复制一个微小的差异
更深入地看,它们看起来有微小的差别(-1.867777e-14,但它可以是任何其他接近零的值)。
我的需要,这是一个错误。你如何解决它,而不改变表中的值?
您可以尝试round
,同时使用duplicated
;
> x<-c(10.258963,10.258962)
> duplicated(x)
[1] FALSE FALSE
> duplicated(round(x,5))
[1] FALSE TRUE
谢谢。如果我需要检查某些非数字值(因此不能舍入)以及数值的重复值,我该怎么办? –
查看此问题的示例:http://stackoverflow.com/questions/13742446/duplicates-in-multiple-columns –
因此,根据示例,如果我有'numeric_cols'和'non_numeric_cols'列名,我会使用一些像'duplicateated(dt [,non_numeric_cols,with = FALSE],by = NULL)&duplicate(round(dt [,numeric_cols,with = FALSE],by = NULL),5)'? –
你可以把你的价值四舍五入。 – mtoto
是的,这就是我在想什么,只是想知道如何(不是所有的列都是数字,我不知道我想要如何精确)。但它应该解决。 –
你的意思是有些列是字符?也许你想基于字符串的模糊匹配进行重复,请参阅:http://stackoverflow.com/questions/11535625 – zx8754