当前位置: 首页 > 编程笔记 >

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

丁翰海
2023-03-14
本文向大家介绍如何在R中合并具有相同列数的矩阵?,包括了如何在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
 类似资料:
  • 问题内容: 我可以在其他具有相同列名的数据框的右边追加一个数据框吗 问题答案: 您可以像这样连接两个数据框。 如果您正在寻找联盟,则可以执行以下操作。 Spark 2.0,已重命名为

  • 本文向大家介绍如何在R中合并列表?,包括了如何在R中合并列表?的使用技巧和注意事项,需要的朋友参考一下 当我们有多个列表但它们具有相似的数据类型时,我们可能想要合并或合并这些列表。这将有助于使用,因为我们可以使用一个列表名称执行计算,而不是将其应用于多个列表名称。我们可以借助mapply函数组合多个列表。 示例 请看以下列表- 现在假设,我们还有一个列表,即List3,然后可以按照如下所示的相同方

  • 当相应的列>0时,我需要将一些数据列设置为NA。 我也在考虑重塑,这样我就可以做一个变异。这里最好的做法是什么?

  • 我有一个示例数据集,如下所示 Col1 Col2 Col3 A 1,2,3 A123 A 4,5 A456 A 1,2,3 A456 A 4,5 A123 我参考了一些解决方案,并尝试了以下方法。但它只追加单个列。

  • 我有两个列表,每个列表中有两个矩阵。。是否有一种方法可以对它们进行矩阵计算,即相加,其中matrix1中的蓝色矩阵与matrix2中的蓝色矩阵相加,matrix1中的红色矩阵与matrix2中的红色矩阵相加。我能想到的唯一方法是在循环中进行计算 请注意,我将有大约10个,以及不止一组(即蓝色、红色、绿色、紫色)