5.1 数组
数组可以看作是带有多个下标类型相同的元素集合,如数值型。R 有一些简单的工具创建和处理数组,特别是矩阵。
维度向量(dimension vector)是一个正整数向量。如果它的长度为 k,那么该数组就是k-维的,例如矩阵是2-维数组。数组中元素的下标可以从1一直标到维度向量中对应元素的值。
向量只有在定义了 dim 属性后才能作为数组在 R 中使用。假定,z
是一个含1500个元素的向量。那么
> dim(z) <- c(3,5,100)
对 dim 属性的赋值使得该向量成一个3 ×5 ×100的数组。其他函数,如 matrix()
和 array()
可以更直观更容易地定义,具体参见 array()
函数部分。
数据向量(data vector)的值在数组中的排列顺序采用 FORTRAN 方式的数组元素次序,即“按列次序”,也就是说第一下标变化最快,最后下标变化最慢。 假定数组 a
的维数向量是 c(3,4,2)
,则 a
中有 3×4×2 = 24 元素,依次 a[1,1,1], a[2,1,1], ..., a[2,4,2], a[3,4,2]
。
数组可以是一维的:这种数组的处理和向量完全一致(包括屏幕显示),只是有时会导致一些混乱。