我有一个关联矩阵(0-1矩阵),在那里重复行。
我需要找到哪些行具有相同的模式。
例如
如果我的矩阵如下
[,1] [,2] [,3]
[1,] 1 0 1
[2,] 1 0 1
[3,] 1 1 1
[4,] 1 1 1
[5,] 1 1 0
然后输出
排号。 1,2和3,4和5分别表现出相同的图案。
我可以使用检查数据框来完成此操作。条件。但我相信有一个优雅的解决方案。
修改
预期结果:
假设输出是一个列表' a'然后上面的结果例如应该是这样的:
> a
[[1]]
[1] 1 2
[[2]]
[1] 3 4
[[3]]
[1] 5
答案 0 :(得分:0)
你可以尝试
indx <- do.call(paste, as.data.frame(m))
setNames(split(seq_along(indx),factor(indx, unique(indx))), NULL)
#[[1]]
#[1] 1 2
#[[2]]
#[1] 3 4
#[[3]]
#[1] 5
m <- structure(c(1L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 0L), .Dim = c(5L, 3L))