测试矩阵行中的重复字符串

时间:2015-03-18 22:49:55

标签: r data-manipulation

我有这些数据:

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行都包含testtest。虽然它们以不同的顺序出现,但出于这个问题的目的,这两行仍然被认为是重复的。

现在我想找到哪些行是重复的。我试过了:

lapply(edge_list, duplicated)

duplicated(edge_list)

其中任何一个都无法找到重复的行。

如何才能提取彼此重复的前两行?

1 个答案:

答案 0 :(得分:1)

您可以对每一行进行排序,然后使用duplicated

duplicated(t(apply(edge_list, 1, sort)))
# [1] FALSE  TRUE FALSE