快速识别R中矩阵中的重复行(具有相同的条目)

时间:2017-02-15 15:55:49

标签: r

我有一个像这样的矩阵:

M <- rbind(c("CD4", "CD8"),
           c("CD8", "CD4"),
           c("DN", "CD8"),
           c("CD8", "DN"),
           c("CD4", "DN"),
           c("DN", "CD4"))

第1和第2是重复的,第3和第4是重复的,第5和第6是重复的,因为它们包含相同的元素(无论它是什么顺序)。

我知道以下代码可以做到。

Msort <- t(apply(M, 1, sort))
duplicated(Msort)

我想获得这个逻辑向量:

> duplicated(Msort)
[1] FALSE  TRUE FALSE  TRUE FALSE  TRUE

但是如果矩阵很大,比如10,000行和10,000列,那么如何有效地处理这种情况呢?

感谢。

1 个答案:

答案 0 :(得分:0)

我尝试过使用矩阵。请尝试一次:

M[duplicated(M[c("V1", "V2")]),]
#     [,1]  [,2] 
#[1,] "CD8" "CD4"
#[2,] "CD8" "DN" 
#[3,] "DN"  "CD4"