我想做一些矩阵运算,最好使用 3(或更高)维数组。如果我想按行填充矩阵,则有一个参数(byrow = TRUE ) 但是没有这样的选项来创建/填充多维数组。我能够完成它的唯一方法是使用aperm转置由列填充的数组。例如:
arr.1 <- array(1:12, c(3,2,2))
arr.1
arr.2 <- aperm(arr.1, c(2,1,3))
arr.2
Run Code Online (Sandbox Code Playgroud)
产生正确的结果,一个由行填充的维数为 2,3,2 的数组。必须从 Column x Row x Range 数组向后工作以获得 Row x Column x Range 数组,这似乎有点违反直觉。这可能是以前 f77 编码的坏习惯还是我忽略了一些简单的东西?
Car*_*oft -1
我的建议是通过运行来“教”自己默认顺序
foo<- array(1:60,3,4,5)
然后,您可以通过重新排列源向量或创建矩阵并按所需顺序将它们加载到数组的 z 层中来填充任意数组。