我有一个大小为17 (行)x 6(列)的数值矩阵。它看起来像这样:

现在我想将这个矩阵转换成一个大小为2(行)x 3(列)x (17维)的数组,在新的数组中,每一行都转换为一维,即列1-3到第一行,列4-6到第二行。
我已经使用示例中的数字给出了一个示例,维度1在这个新数组中是如何显示的(它包括第一行的值):

如何将这个矩阵转换成我想要的数组?
发布于 2020-10-21 22:37:44
m <- matrix(c(1:12), ncol = 6)
# [,1] [,2] [,3] [,4] [,5] [,6]
#[1,] 1 3 5 7 9 11
#[2,] 2 4 6 8 10 12
a <- array(t(m), dim = c(3, 2, length(m)/6))
a <- aperm(a, c(2, 1, 3)) #switch first and second dimension
#, , 1
#
# [,1] [,2] [,3]
#[1,] 1 3 5
#[2,] 7 9 11
#
#, , 2
#
# [,1] [,2] [,3]
#[1,] 2 4 6
#[2,] 8 10 12https://stackoverflow.com/questions/64465711
复制相似问题