1

Rで特定の列の重複を検出するにはどうすればよいですか? 私は duplicated() 関数を知っていますが、それは重複を与えますが、特定の列が重複している場合にのみ興味があります。例:

> x = 1:5
> y=6:10
> z=11:15
> mat=cbind(x,y,x,x,y,z)
> mat
     x  y x x  y  z
[1,] 1  6 1 1  6 11
[2,] 2  7 2 2  7 12
[3,] 3  8 3 3  8 13
[4,] 4  9 4 4  9 14
[5,] 5 10 5 5 10 15

重複をチェック中

 > which(duplicated(mat, MARGIN=2))
 [1] 3 4 5

したがって、実際には列 3、4、および 5 がマトリックスで重複していますが、特定の列を照会できるようにしたいと考えています。例えば

somehow_specific_duplicated(mat[,1], mat) 
[1] 3 4

それを達成する簡単な方法を知っている人はいますか?

ありがとう!

4

1 に答える 1

0

あなたは試すことができます

unname(which(!colSums(mat[,1]!=mat))[-1])
#[1] 3 4

2 番目の列の場合

 unname(which(!colSums(mat[,2]!=mat))[-1])
 #[1] 5
于 2014-12-14T07:00:32.650 に答える