R语言 组合矩阵
合并矩阵涉及到两个或多个较小的矩阵的串联,无论是按行还是按列,以形成一个较大的矩阵。这基本上是一个数据处理操作,所涉及的矩阵必须具有兼容的大小才能执行该操作。矩阵可以在水平或垂直方向上组合。
在R中,有两种组合矩阵的方式。
- 列式组合
- 行式组合
列式组合
R中的column bind, cbind() 函数,用于将两个数据框架或矩阵A_m_*_n and B_m_*_p(n可能等于也可能不等于p)按其列合并在一起。所涉及的矩阵应该有相同的行数。
例子
# R program for combining two matrices # column-wise # Creating 1st Matrix B = matrix(c(1, 2), nrow = 1, ncol = 2) # Creating 2nd Matrix C = matrix(c(3, 4, 5), nrow = 1, ncol = 3) # Original Matrices print(B) print(C) # Combining matrices print (cbind(B, C))
输出
[,1] [,2] [1,] 1 2 [,1] [,2] [,3] [1,] 3 4 5 [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5
在上述代码中,矩阵C的列[3 4 5]被依次添加到矩阵B的列[1 2]中。这些变化并没有对任何现有的矩阵进行修改。
属性
- 结果矩阵的列数是两个矩阵的列数之和。
- 非共轭性: 列的合并是按照函数中指定的参数的顺序进行的。因此,cbind(a, b) != cbind(b, a)
- 关联: cbind(cbind(a, b), c) = cbind(a, cbind(b, c))
行与行之间的组合
R中的行绑定,即 rbind() 函数,用于将两个数据框或矩阵A_m_*_p and B_n_*_p(m可能等于也可能不等于n),按其行数合并。所涉及的矩阵应该有相同的列数。
例子
# R program for combining two matrices # row-wise # Creating 1st Matrix B = matrix(c(1, 2, 3), nrow = 1, ncol = 3) # Creating 2nd Matrix C = matrix(c(4, 5, 6, 7, 8, 9), nrow = 2, ncol = 3) # Original Matrices print(B) print(C) # Combining matrices print (rbind(B, C))
输出
[,1] [,2] [,3] [1,] 1 2 3 [,1] [,2] [,3] [1,] 4 6 8 [2,] 5 7 9 [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 6 8 [3,] 5 7 9
行[4 6 8]和[5 7 9]被依次追加到矩阵B[1 2 3]的某一行。对原矩阵不做任何改变。
属性
- 结果矩阵的行数是两个矩阵的行数之和。
- 非共轭式: 行数按照函数中指定的参数顺序合并。因此,rbind(a, b) != rbind(b, a)
- 关联: rbind(rbind(a, b), c) = rbind(a, rbind(b, c))
时间复杂度。O(m+n)
空间复杂度。O(m+n),其中m是第一个矩阵的元素总数,n是第二个矩阵的元素总数。
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com