将一个向量转换为一个三维矩阵

3

我需要这个向量

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

需要将其转换为三维矩阵,使结果看起来像这样:

,,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

我想这个问题应该很容易解决,但我在谷歌中使用的关键词似乎不正确。感谢您的帮助!

1个回答

2

一般情况下很难知道您在做什么,但针对您提供的示例,我发现在执行 dim(v) <- c(2,2,2) 后,生成的数组与您预期的输出结果存在转置/排列不同。因此,我会这样处理:

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

也就是说,我们正在做以下事情:
for (i in 1:2) v[,,i] <- t(v[,,i])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接