如何在R中将矩阵列转换为向量列表?

如果要使用矩阵的列作为向量,则可以将它们转换为向量列表。要将矩阵列转换为向量列表,我们首先需要将矩阵转换为数据框,然后才能将其读取为列表。这可以作为as.list(as.data.frame(matrix_name))完成。

示例

考虑下面的矩阵-

> M<-matrix(1:25,nrow=5)

> M

[,1] [,2] [,3] [,4] [,5]

[1,] 1 6 11 16 21

[2,] 2  7 12 17 22

[3,] 3  8 13 18 23

[4,] 4  9 14 19 24

[5,] 5 10 15 20 25

将矩阵M列转换为向量-

> V<-as.list(as.data.frame(M))

> V

$V1

[1] 1 2 3 4 5

$V2

[1] 6 7 8 9 10

$V3

[1] 11 12 13 14 15

$V4

[1] 16 17 18 19 20

$V5

[1] 21 22 23 24 25

> str(V)

List of 5

$ V1: int [1:5] 1 2 3 4 5

$ V2: int [1:5] 6 7 8 9 10

$ V3: int [1:5] 11 12 13 14 15

$ V4: int [1:5] 16 17 18 19 20

$ V5: int [1:5] 21 22 23 24 25

检查V1,V2,V3,V4和V5是否为向量-

> is.vector(V$V1)

[1] TRUE

> is.vector(V$V2)

[1] TRUE

> is.vector(V$V3)

[1] TRUE

> is.vector(V$V4)

[1] TRUE

> is.vector(V$V5)

[1] TRUE

将非平方矩阵列转换为矢量列表-

> M_new<-matrix(1:50,nrow=5)

> M_new

   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,] 1    6   11   16   21   26   31   36   41    46

[2,] 2    7   12   17   22   27   32   37   42    47

[3,] 3    8   13   18   23   28   33   38   43    48

[4,] 4    9   14   19   24   29   34   39   44    49

[5,] 5   10   15   20   25   30   35   40   45    50

> V_new<-as.list(as.data.frame(M_new))

> V_new

$V1

[1]  1  2  3  4  5

$V2

[1]  6  7  8  9 10

$V3

[1] 11 12 13 14 15

$V4

[1] 16 17 18 19 20

$V5

[1] 21 22 23 24 25

$V6

[1] 26 27 28 29 30

$V7

[1] 31 32 33 34 35

$V8

[1] 36 37 38 39 40

$V9

[1] 41 42 43 44 45

$V10

[1] 46 47 48 49 50

以上是 如何在R中将矩阵列转换为向量列表? 的全部内容, 来源链接: utcz.com/z/348859.html

回到顶部