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

更新於: 2021年11月3日

665 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告