arrays - 将向量转换为 3 维矩阵

标签 arrays r matrix

我想要这个向量

v <- c(111,112,121,122,211,212,221,222)

转换为 3 维矩阵,结果如下:

,,1
111 112
121 122
,,2
211 212
221 222

使用dim(v) <- c(2,2,2)结果是这样的结构

,,1
     [,1] [,2]
[1,]  111  121
[2,]  112  122

,,2  
     [,1] [,2]
[1,]  211  221
[2,]  212  222

我想有一个非常简单的方法可以做到这一点,但我想我在谷歌中使用了错误的关键字。感谢您的帮助!

最佳答案

很难知道你一般在做什么,但对于你给定的例子,我看到 dim(v) <- c(2,2,2) 之后,结果数组通过转置/排列与您的预期输出不同。所以我愿意

aperm(v, c(2,1,3))

也就是说,我们正在做:

for (i in 1:2) v[,,i] <- t(v[,,i])

关于arrays - 将向量转换为 3 维矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44749021/

相关文章:

c - 在数组中输入随机数时出错

python - 对二维 numpy 数组执行分组运算

r - 无法将XML元素与R中的XPath匹配

r - 初始化 sparkR : JVM is not ready after 10 seconds 时出错

python - 调整矩阵数组乘法以使用 Numpy Tensordot

php - 将字符串部分与数组值进行比较

c - C语言中extern buffer[]和extern *buffer有什么区别?

R:多元正交回归,无需显式编写变量名称

c++ - RCPP 中的模板化矩阵

java - 如何在 List<List<Integer>> 中迭代并设置它们的值,就像我们在普通 int a[i][j] 矩阵类型中所做的那样