如何在R中的列表中查找唯一矩阵?

列表可以包含许多类型的元素,例如向量,矩阵,数据帧等。如果列表中有矩阵,则要在该列表中查找唯一矩阵,我们可以简单地使用唯一函数。例如,如果我们有一个名为LIST的列表,其中包含具有某些重复矩阵的矩阵,则可以使用来提取唯一矩阵unique(LIST)。

例1

list(M1=matrix(1:25,ncol=5),M2=matrix(1:25,ncol=5),M3=matrix(1:25,ncol=5),M4=matrix(rpois(25,5),ncol=5))
List1
输出结果
$M1
[,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
$M2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
$M3
[,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
$M4
[,1] [,2] [,3] [,4] [,5]
[1,] 2 3 4 6 5
[2,] 6 5 2 5 8
[3,] 3 5 5 6 6
[4,] 6 3 4 4 3
[5,] 6 10 4 6 7

示例

unique(List1)
输出结果
[[1]]
[,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
[[2]]
[,1] [,2] [,3] [,4] [,5]
[1,] 2 3 4 6 5
[2,] 6 5 2 5 8
[3,] 3 5 5 6 6
[4,] 6 3 4 4 3
[5,] 6 10 4 6 7

例2

list(M1=matrix(rpois(25,5),ncol=5),M2=matrix(rpois(25,2),ncol=5),M3=matrix(rpois(25,2),ncol=5),M4=matrix(rpois(25,5),ncol=5))
List2
输出结果
$M1
[,1] [,2] [,3] [,4] [,5]
[1,] 3 6 4 6 5
[2,] 4 7 2 9 5
[3,] 7 8 8 6 2
[4,] 3 9 5 7 7
[5,] 11 7 8 5 3
$M2
[,1] [,2] [,3] [,4] [,5]
[1,] 3 4 3 3 1
[2,] 3 3 1 2 3
[3,] 0 0 0 0 1
[4,] 2 6 2 2 1
[5,] 2 0 5 2 0
$M3
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 4 1 1
[2,] 3 1 3 1 1
[3,] 3 1 3 0 1
[4,] 0 1 1 3 4
[5,] 2 2 1 0 0
$M4
[,1] [,2] [,3] [,4] [,5]
[1,] 6 4 4 4 6
[2,] 7 4 2 4 4
[3,] 5 3 5 9 5
[4,] 6 2 7 2 6
[5,] 8 3 5 5 1

示例

unique(List2)
输出结果
[[1]]
[,1] [,2] [,3] [,4] [,5]
[1,] 3 6 4 6 5
[2,] 4 7 2 9 5
[3,] 7 8 8 6 2
[4,] 3 9 5 7 7
[5,] 11 7 8 5 3
[[2]]
[,1] [,2] [,3] [,4] [,5]
[1,] 3 4 3 3 1
[2,] 3 3 1 2 3
[3,] 0 0 0 0 1
[4,] 2 6 2 2 1
[5,] 2 0 5 2 0
[[3]]
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 4 1 1
[2,] 3 1 3 1 1
[3,] 3 1 3 0 1
[4,] 0 1 1 3 4
[5,] 2 2 1 0 0
[[4]]
[,1] [,2] [,3] [,4] [,5]
[1,] 6 4 4 4 6
[2,] 7 4 2 4 4
[3,] 5 3 5 9 5
[4,] 6 2 7 2 6
[5,] 8 3 5 5 1