如何在R中合并具有相同列数的矩阵?

列数相同的矩阵可以按行合并。例如,如果我们有五个矩阵列表,每个矩阵都有六列,则可以通过合并这些矩阵的行将这些矩阵转换为单个矩阵。可以使用do.call(rbind,“ List_of_matrices_object_name”)来完成。

示例

请看以下矩阵及其列表-

M1<-matrix(1:36,nrow=6)
M1

输出结果

   [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1    7   13   19   25   31
[2,] 2    8   14   20   26   32
[3,] 3    9   15   21   27   33
[4,] 4   10   16   22   28   34
[5,] 5   11   17   23   29   35
[6,] 6   12   18   24   30   36

示例

M2<-matrix(sample(1:10,30,replace=TRUE),ncol=6)
M2

输出结果

   [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 6   5    5    5    4    6
[2,] 6   1    9    8    8    4
[3,] 10  3    9    3    7    10
[4,] 9   4    4    9    9    9
[5,] 4   9    6    6    5    5

示例

M3<-matrix(sample(1:50,30),ncol=6)
M3

输出结果

    [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 27   25   24   45   18    21
[2,] 22   46   9    34   26    44
[3,] 23   33   29   47    4    37
[4,] 41   31   39   50   19    15
[5,] 5    17   40   11   20    35

示例

M4<-matrix(rpois(36,5),ncol=6)
M4

输出结果

   [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 12  4    5    6    3    5
[2,] 6   6    1    9    3    6
[3,] 3   4    3    2    10   5
[4,] 1   6    8    9    6    7
[5,] 3   6    5    4    4    3
[6,] 8   4    1    7    9    4

示例

M5<-matrix(round(runif(36,2,5)),ncol=6)
M5

输出结果

   [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 2   4    4    3    4    4
[2,] 3   5    3    2    3    5
[3,] 2   5    2    4    4    2
[4,] 4   3    2    4    5    5
[5,] 3   3    3    3    3    3
[6,] 2   5    2    3    4    2

示例

List_M<-list(M1,M2,M3,M4,M5)
List_M

输出结果

[[1]]
   [,1]  [,2] [,3]  [,4] [,5]  [,6]
[1,] 1    7    13    19   25    31
[2,] 2    8    14    20   26    32
[3,] 3    9    15    21   27    33
[4,] 4    10    16   22   28    34
[5,] 5    11    17   23   29    35
[6,] 6    12    18   24   30    36
[[2]]
   [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 6    5    5    5    4    6
[2,] 6    1    9    8    8    4
[3,] 10   3    9    3    7    10
[4,] 9    4    4    9    9    9
[5,] 4    9    6    6    5    5
[[3]]
   [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 27 25    24   45   18   21
[2,] 22 46    9    34   26   44
[3,] 23 33   29    47   4    37
[4,] 41 31   39    50   19   15
[5,] 5 17    40    11   20   35
[[4]]
   [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 2    4    2    3    5    2
[2,] 3    3    3    3    4    4
[3,] 4    4    3    4    2    3
[4,] 2    4    4    4    3    4
[5,] 4    5    5    3    2    3
[6,] 4    3    4    4    4    3
[[5]]
   [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 2    4    4    3    4    4
[2,] 3    5    3    2    3    5
[3,] 2    5    2    4    4    2
[4,] 4    3    2    4    5    5
[5,] 3    3    3    3    3    3
[6,] 2    5    2    3    4    2

按行将矩阵列表组合到单个矩阵中-

示例

do.call(rbind,List_M)

输出结果

   [,1] [,2]  [,3]  [,4]  [,5]  [,6]
[1,] 1    7    13    19    25    31
[2,] 2    8    14    20    26    32
[3,] 3    9    15    21    27    33
[4,] 4    10   16    22    28    34
[5,] 5    11   17    23    29    35
[6,] 6    12   18    24    30    36
[7,] 6    5    5     5      4    6
[8,] 6    1    9     8      8    4
[9,] 10   3    9     3      7    10
[10,] 9   4    4     9      9    9
[11,] 4   9    6     6      5    5
[12,] 27  25   24    45    18    21
[13,] 22  46   9     34    26    44
[14,] 23  33   29    47    4     \37
[15,] 41  31   39    50    19    15
[16,] 5   17   40    11    20    35
[17,] 2   4    2     3     5     2
[18,] 3   3    3     3      4    4
[19,] 4   4    3     4      2    3
[20,] 2   4    4     4      3    4
[21,] 4   5    5     3      2    3
[22,] 4   3    4     4      4    3
[23,] 2   4    4     3      4    4
[24,] 3   5    3     2      3    5
[25,] 2   5    2     4      4    2
[26,] 4   3    2     4      5    5
[27,] 3   3    3     3      3    3
[28,] 2   5    2     3      4    2