簡體   English   中英

將M×N矩陣轉換為M個向量的數組,每個向量的長度為N

[英]Convert an M by N matrix to an array of M vectors each of length N

我想像的瑣碎問題

我有一個M x N矩陣。 例如:

   mat <- matrix(data = rnorm(12), nrow = 3, ncol = 4)

我想將其轉換為長度為N的M個向量的數組(表示每個向量是矩陣中的一行的數組)。

我將使用@joran並假設您的意思是您想要一個列表,而不是一個數組。 因此,要按行拆分矩陣,可以使用按row split

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

同樣,要按列拆分,可以執行split(mat, col(mat))

您是否正在尋找t來轉置矩陣?

mat <- matrix(data = rnorm(12), nrow = 3, ncol = 4)
mat
#          [,1]       [,2]        [,3]       [,4]
#[1,] 0.9577888 -0.6362354 -0.02213621 -0.1537499
#[2,] 2.2317189 -0.2593682  0.67468979 -2.2123352
#[3,] 0.8379689 -0.3452324  0.66811564 -1.9828007
t(mat)
#            [,1]       [,2]       [,3]
#[1,]  0.95778884  2.2317189  0.8379689
#[2,] -0.63623540 -0.2593682 -0.3452324
#[3,] -0.02213621  0.6746898  0.6681156
#[4,] -0.15374989 -2.2123352 -1.9828007

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM