
上QQ阅读APP看书,第一时间看更新
1.2.2 数组
数组可以看作是多维度的向量。例如,一个3维的数组X可以用X[i,j,k]来指向其中的特定元素。假设数组X的维度向量是c(3,4,2),则X中有3×4×2=24个元素,这些元素依次为X[1,1,1],X[2,1,1],...,X[2,4,2],X[3,4,2]。
假设X是一个包含24个元素的向量:

可以调用dim()函数来指定数组的维度(Dimension),让X变成一个3×4×2的3维数组,而R程序会按照列(Column)的方式排列:

我们可以让X变成一个4×6的2维数组:

要创建一个数组,也可以直接调用array()函数,此函数的第一个参数用于指定数据向量,第二个参数用于指定数组的维度。假设要创建一个3×4×2的3维数组,指令如下:

假设要创建一个4×6的2维数组:

值得注意的是,以下指令会创建一个所有元素的值都是0的3维数组:

也可以调用rbind()和cbind()函数来创建数组。rbind()表示把向量按行(Row)合并成一个数组,而cbind()表示把向量按列(Column)合并成一个数组。
