如何在 R 中去除矩阵中的重复列?
r programmingserver side programmingprogramming更新于 2025/6/25 0:37:17
要在 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