我有一个像这样的矩阵:
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列,那么如何有效地处理这种情况呢?
感谢。
答案 0 :(得分:0)
我尝试过使用矩阵。请尝试一次:
M[duplicated(M[c("V1", "V2")]),]
# [,1] [,2]
#[1,] "CD8" "CD4"
#[2,] "CD8" "DN"
#[3,] "DN" "CD4"