如何在 R 中交替組合矩陣行?
如果我們有多個矩陣,並且我們希望交替組合這些矩陣的行,那麼首先需要使用 order 函式、sequence 函式和 sapply 函式讀取矩陣後找出矩陣的順序,然後使用 rbind 函式組合值。
檢視下面給出的示例以瞭解如何執行此操作。
示例
以下程式碼段建立一個示例矩陣 −
M1<-matrix(rpois(40,5),ncol=2) M1
建立以下矩陣 −
[,1] [,2] [1,] 10 7 [2,] 6 5 [3,] 8 3 [4,] 4 2 [5,] 5 5 [6,] 6 7 [7,] 9 5 [8,] 1 5 [9,] 3 3 [10,] 5 3 [11,] 5 5 [12,] 3 5 [13,] 4 7 [14,] 6 4 [15,] 3 8 [16,] 4 1 [17,] 9 2 [18,] 4 4 [19,] 6 6 [20,] 5 2
以下程式碼段建立一個示例矩陣 −
M2<-matrix(rpois(40,1),ncol=2) M2
建立以下矩陣 −
[,1] [,2] [1,] 1 3 [2,] 2 1 [3,] 2 1 [4,] 1 3 [5,] 3 1 [6,] 1 1 [7,] 4 1 [8,] 1 1 [9,] 0 0 [10,] 0 3 [11,] 1 0 [12,] 1 1 [13,] 1 3 [14,] 0 3 [15,] 3 2 [16,] 2 0 [17,] 0 1 [18,] 1 1 [19,] 1 0 [20,] 2 0
要交替組合 M1 和 M2 的行在上面建立的資料框中,請將以下程式碼新增到上面的程式碼段 −
M1<-matrix(rpois(40,5),ncol=2) M2<-matrix(rpois(40,1),ncol=2) do.call(rbind,list(M1,M2))[order(sequence(sapply(list(M1,M2),nrow))),]
輸出
如果您將上面給出的所有程式碼段作為一個程式執行,它將生成以下輸出 −
[,1] [,2] [1,] 10 7 [2,] 1 3 [3,] 6 5 [4,] 2 1 [5,] 8 3 [6,] 2 1 [7,] 4 2 [8,] 1 3 [9,] 5 5 [10,] 3 1 [11,] 6 7 [12,] 1 1 [13,] 9 5 [14,] 4 1 [15,] 1 5 [16,] 1 1 [17,] 3 3 [18,] 0 0 [19,] 5 3 [20,] 0 3 [21,] 5 5 [22,] 1 0 [23,] 3 5 [24,] 1 1 [25,] 4 7 [26,] 1 3 [27,] 6 4 [28,] 0 3 [29,] 3 8 [30,] 3 2 [31,] 4 1 [32,] 2 0 [33,] 9 2 [34,] 0 1 [35,] 4 4 [36,] 1 1 [37,] 6 6 [38,] 1 0 [39,] 5 2 [40,] 2 0
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP