在R中维护数组结构的正确方法

时间:2016-11-28 06:09:02

标签: arrays r matrix indexing

假设我在R中声明了一个3d数组:

arr <- array(rep(0, 20), c(1,2,20))

我们致电arr[,,1],我得到

[1] 0 0

我希望用1乘2矩阵代替上面的矢量

drop添加arr[,,1, drop=F],我就会{/ 1}}

, , 1

     [,1] [,2]
[1,]    0    0

这也不理想,因为它不是矩阵。在矩阵乘法中使用时会导致错误。

我可以使用matrix() matrix(arr[,,1, drop=F])来包装它,然后获取

     [,1]
[1,]    0
[2,]    0

然后维度是错误的。最后我做了matrix(arr[,,1, drop=F], dim(arr)[1:2]),它给了我正确的结果。

     [,1] [,2]
[1,]    0    0

当然,如果3d数组的尺寸都大于1,那么它根本不会成为问题。 我的问题是,在任何情况下,在对3d数组进行子集化时,是否有更简单的方法来获取矩阵。

0 个答案:

没有答案