3.1 创建矩阵
矩阵的行和列的下标都从1开始。例如矩阵a左上角的元素记作a[1, 1]。矩阵在R中是按列存储的,也就是说先存储第一列,再存储第二列,以此类推,如2.1.3小节所示。
创建矩阵的方法之一就是使用matrix()函数:
这里把第一列(即1和2)与第二列(3和4)连接在一起。因此数据是(1,2,3,4)。然后我们给出行数和列数。由于R是按列存储的,这就决定了这四个数在矩阵中的位置。
上例指定了矩阵中全部的4个元素,因此没必要同时设定列数ncol和行数nrow这两个参数,只需要给出其中一个就够了。4个元素排成两行,就意味着列数为2。
注意,当我们打印输出y时,R向我们展示了它表示行和列的记号。例如[, 2]表示矩阵第二列,如下:
用这种方法需要事先向R声明y是一个矩阵,并且给出它的行数和列数。
尽管R的矩阵是按列存储的,但是可以通过把matrix()的byrow参数设置为TRUE,使矩阵元素按行排列。以下是使用byrow的一个例子:
需要注意的是,尽管这样设置,但是矩阵本身依然是按列存储的,参数byrow改变的只是数据输入的顺序。当读取的数据文件是按这种方式组织时,可能会更方便。