我有这些数据:
edge_list <- matrix(data = c("test1", "test", "test", "test1", "stuff",
"not_related"), nrow = 3, ncol = 2, byrow = TRUE)
[,1] [,2]
[1,] "test1" "test"
[2,] "test" "test1"
[3,] "stuff" "not_related"
请注意,第1行和第2行都包含test
和test
。虽然它们以不同的顺序出现,但出于这个问题的目的,这两行仍然被认为是重复的。
现在我想找到哪些行是重复的。我试过了:
lapply(edge_list, duplicated)
和
duplicated(edge_list)
其中任何一个都无法找到重复的行。
如何才能提取彼此重复的前两行?
答案 0 :(得分:1)
您可以对每一行进行排序,然后使用duplicated
:
duplicated(t(apply(edge_list, 1, sort)))
# [1] FALSE TRUE FALSE