如何在 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

相关文章