私はduplicated
関数をdata.tableオブジェクトに使用しています。同じであると思われる2つの値にはFALSE
が返されます。極小の重複で重複しています
それらの詳細を見ると、小さな差(-1.867777e-14ですが、それ以外のゼロ値に近い値)があるようです。
私の必要に応じて、これはバグです。テーブルの値を変更することなく、どのように修正しますか?
私はduplicated
関数をdata.tableオブジェクトに使用しています。同じであると思われる2つの値には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'列名を持っているので、私は何かを使用する(dt [、non_numeric_cols、with = FALSE]、by = NULL)&duplicated(dt [、numeric_cols、with = FALSE]、by = NULL)、5) '? –
あなたの値を丸めることができます。 – mtoto
ええ、それは私が考えていることです。ちょうどどのように正確に(私の列のすべてが数字ではなく、私がどれくらい正確になりたいかわからない)と思っています。しかし、それはうまくいくはずです。 –
一部の列が文字であることを意味しますか?おそらく、文字列のファジーマッチングに基づいて重複が必要になることがあります。http://stackoverflow.com/questions/11535625 – zx8754