を置き換える:R - 行のすべての重複を見つけ、私は大規模なデータフレームを持ち、行の重複要素を検索し、空の文字列で、すべての重複値を置換しようとしています
X1 X2 X3 X4 X5
x 1 2 3 3 4
y 1 1 2 3 4
が
になるべきX1 X2 X3 X4 X5
x 1 2 4
y 2 3 4
私は、単一のベクター上でこれを実行することができるよ:
x <- c(1,2,3,3,4)
x[x %in% x[duplicated(x) == TRUE]] = ""
x
[1] "1" "2" "" "" "4"
しかし、私はWORにこれを取得することができませんkをデータフレーム内のすべての行に適用します。 私は次のことを試してみたが、それは仕事を得ることができませんでした:
apply(df,2,function(x) x[x %in% x[duplicated(x) == TRUE]] = "")
任意のアイデア?
数値データセットがあり、値を '' "'で置き換えると、データセット全体が文字になります。本当にそれが欲しいですか?これ以上算術演算を行うことはできません。また、私はあなたのところで行列を使って作業することも考えています。 –
Davidに感謝します。はい、私はすべての値の文字を最終的に作りたいと思います。私は行列の使い方についてあなたの提案を調べます。ありがとうございました。 – duraq
私は、この問題のためにdupeのgazzillionsがあると思います。可能な複製のhttp://stackoverflow.com/questions/37306011/replace-duplicated-elements-with-na-instead-of-removing-them – akrun