如何从R中的矩阵中删除重复的列?
要从R中的矩阵中删除重复的列,我们可以使用unique函数。
例如,如果我们有一个名为M的矩阵,其中包含一些重复的列,那么我们可以使用以下命令删除这些重复的列-
unique(M,MARGIN=2)
示例1
以下代码段创建了一个示例矩阵-
M1<-matrix(c(rep(10,20),rpois(20,5),rep(10,20)),ncol=3,byrow=FALSE) M1
创建以下矩阵-
[,1] [,2] [,3] [1,] 10 3 10 [2,] 10 8 10 [3,] 10 7 10 [4,] 10 6 10 [5,] 10 5 10 [6,] 10 6 10 [7,] 10 2 10 [8,] 10 11 10 [9,] 10 1 10 [10,] 10 2 10 [11,] 10 8 10 [12,] 10 6 10 [13,] 10 6 10 [14,] 10 3 10 [15,] 10 6 10 [16,] 10 2 10 [17,] 10 7 10 [18,] 10 5 10 [19,] 10 7 10 [20,] 10 6 10
要从上面创建的矩阵上的矩阵M1中删除重复的列,请将以下代码添加到上面的代码段中-
M1<-matrix(c(rep(10,20),rpois(20,5),rep(10,20)),ncol=3,byrow=FALSE) unique(M1,MARGIN=2)输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1] [,2] [1,] 10 3 [2,] 10 8 [3,] 10 7 [4,] 10 6 [5,] 10 5 [6,] 10 6 [7,] 10 2 [8,] 10 11 [9,] 10 1 [10,] 10 2 [11,] 10 8 [12,] 10 6 [13,] 10 6 [14,] 10 3 [15,] 10 6 [16,] 10 2 [17,] 10 7 [18,] 10 5 [19,] 10 7 [20,] 10 6
示例2
以下代码段创建了一个示例矩阵-
M2<-matrix(c(rpois(20,2),rep(1,20),rpois(20,5),rep(1,20)),ncol=4,byrow=FALSE) M2
创建以下矩阵-
[,1] [,2] [,3] [,4] [1,] 1 1 5 1 [2,] 4 1 8 1 [3,] 1 1 6 1 [4,] 1 1 2 1 [5,] 0 1 5 1 [6,] 2 1 5 1 [7,] 3 1 6 1 [8,] 1 1 4 1 [9,] 1 1 7 1 [10,] 0 1 5 1 [11,] 3 1 9 1 [12,] 1 1 2 1 [13,] 1 1 6 1 [14,] 0 1 3 1 [15,] 1 1 2 1 [16,] 0 1 4 1 [17,] 1 1 5 1 [18,] 4 1 3 1 [19,] 3 1 3 1 [20,] 4 1 3 1
要从上面创建的矩阵上的矩阵M2中删除重复列,请将以下代码添加到上面的代码片段中-
M2<-matrix(c(rpois(20,2),rep(1,20),rpois(20,5),rep(1,20)),ncol=4,byrow=FALSE) unique(M2,MARGIN=2)输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[,1] [,2] [,3] [1,] 1 1 5 [2,] 4 1 8 [3,] 1 1 6 [4,] 1 1 2 [5,] 0 1 5 [6,] 2 1 5 [7,] 3 1 6 [8,] 1 1 4 [9,] 1 1 7 [10,] 0 1 5 [11,] 3 1 9 [12,] 1 1 2 [13,] 1 1 6 [14,] 0 1 3 [15,] 1 1 2 [16,] 0 1 4 [17,] 1 1 5 [18,] 4 1 3 [19,] 3 1 3 [20,] 4 1 3