5.8 用cbind()和rbind()构建分块矩阵
正如前面所暗示的,可以利用函数 cbind()
和 rbind()
把向量和矩阵拼成一个新的矩阵。概略地说,cbind()
把矩阵横向合并成一个大矩阵(列方式),而 rbind()
是纵向合并(行方式)。
在命令中
> X <- cbind(arg 1, arg 2, arg 3, ...)
cbind()
的参数要么是任何长度的向量,要么是列长度一致的的矩阵(即行数一 样)。结果将是一个合并arg1 , arg2 , . . . 的列形成的矩阵。
如果 cbind()
的参数中有一些比其他矩阵参数的列长度短的向量,它们将会被循环使用以吻合矩阵的列长度(在没有矩阵的情况下,吻合其中最长向量的长度)。
函数 rbind()
对行进行类似的操作。其中任何向量参数都会被当作行向量且可能被循环使用。
假定 X1
和 X2
有一样的行数。下面的命令会把它们的列合并以得到矩阵 X
,同时要求起始列都是1
> X <- cbind(1, X1, X2)
rbind()
或者 cbind()
返回值常常是矩阵形式。因此,cbind(x)
和rbind(x)
可能是把向量 x
分别转换成列或者行矩阵最简单的方法。