【发布时间】:2012-04-14 03:56:34
【问题描述】:
当我发现 x <- array(0, c(5,3,1)) 时,我感到非常惊讶,例如x[2,,] 返回一个vector,而不是二维的array(或matrix)。
为什么这个数组显然被解释为 5 个长度为 3 的向量,而不是 5 个 3×1 数组? attr(array(0, c(5,3,1)), "dim") 和预期的一样产生[1] 5 3 1,所以看起来最后一个维度并没有丢失。
如何确保获得二维数组?我知道数组只是具有附加属性的向量,但我不理解这种明显的“不一致”行为。
请赐教 :) 我在另一个函数的上下文中使用了一个三维数组来存储几个矩阵。通常,这些矩阵具有 n×m 的形状,特别是 m 可以为 1(尽管它通常更高)。
【问题讨论】: