我在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