将M×N矩阵转换为长度为N的M个向量的数组

use*_*545 0 arrays r matrix

我想象的琐碎问题..

我有一个M×N矩阵.例如:

   mat <- matrix(data = rnorm(12), nrow = 3, ncol = 4)
Run Code Online (Sandbox Code Playgroud)

并且我想将其转换为M个向量的数组,每个向量的长度为N(意味着一个数组,其中每个向量是矩阵中的一行).

Ric*_*ven 6

我将使用@joran,并假设你的意思是你想要一个列表,而不是一个数组.所以,从它行分割矩阵,可以使用splitrow

split(mat, row(mat))
# $`1`
# [1]  0.4583610 -2.2781416 -1.5936889  0.6746935
#
# $`2`
# [1]  1.3758054  0.3980531  1.0167698 -0.7905586
#
# $`3`
# [1]  1.3177040 -1.5425623  0.2905337  0.4275807
Run Code Online (Sandbox Code Playgroud)

同样,您可以按列拆分 split(mat, col(mat))