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