如何将存储在列表中的矩阵转换为 R 中的数据框?

列表可能包含向量、数据框、矩阵、列表等。如果列表包含矩阵并且我们想将这些矩阵转换为数据框,那么 lapply 函数可以与 as.data.frame 函数一起使用。

例如,如果我们有一个名为 LIST 的列表,其中包含矩阵,那么我们可以使用以下命令将这些矩阵转换为数据帧 -

lapply(LIST,function(x) as.data.frame(x))

示例

以下代码段创建了一个矩阵列表 -

M1<-matrix(rpois(25,5),ncol=5)

M2<-matrix(rpois(25,5),ncol=5)

M3<-matrix(rpois(40,10),ncol=2)

M4<-matrix(rpois(40,25),ncol=2)

List<-list(M1,M2,M3,M4)

List

输出结果

创建以下矩阵 -

[[1]]

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

[1,]  3   8    8    7   6

[2,] 10   7    4    4   2

[3,]  3   3    4    5   6

[4,]  2   7    4   10   3

[5,] 10   3    5    7   4

[[2]]

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

[1,]  6   8   3    6   4

[2,]  6   3   6    3   3

[3,]  6   5   7    7   4

[4,]  1   2   3    6  10

[5,]  7   3   5    6   6

[[3]]

     [,1] [,2]

[1,]  13    5

[2,]   4   10

[3,]   6    6

[4,]   7   11

[5,]   8   10

[6,]  18    6

[7,]  10    8

[8,]  14   14

[9,]  10    9

[10,]  9   15

[11,] 10    8

[12,]  9    8

[13,]  8    7

[14,] 14    9

[15,] 11    9

[16,]  9    9

[17,] 14   13

[18,] 10    9

[19,]  7    9

[20,]  8   16

[[4]]

     [,1][,2]

[1,]  24  20

[2,]  26  25

[3,]  23  28

[4,]  22  22

[5,]  23  27

[6,]  31  22

[7,]  33  33

[8,]  31  27

[9,]  19  33

[10,] 25  23

[11,] 25  23

[12,] 33  27

[13,] 26  28

[14,] 25  31

[15,] 26  26

[16,] 25  31

[17,] 22  29

[18,] 28  22

[19,] 22  30

[20,] 30  24

现在,要将存储在列表中的矩阵转换为数据框,请将以下代码添加到上述代码段中 -

M1<-matrix(rpois(25,5),ncol=5)

M2<-matrix(rpois(25,5),ncol=5)

M3<-matrix(rpois(40,10),ncol=2)

M4<-matrix(rpois(40,25),ncol=2)

List<-list(M1,M2,M3,M4)

lapply(List,function(x) as.data.frame(x))

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[[1]]

   V1 V2 V3 V4 V5

1  3  8  8  7  6

2 10  7  4  4  2

3  3  3  4  5  6

4  2  7  4 10  3

5 10  3  5  7  4

[[2]]

  V1 V2 V3 V4 V5

1 6  8  3  6  4

2 6  3  6  3  3

3 6  5  7  7  4

4 1  2  3  6 10

5 7  3  5  6  6

[[3]]

   V1  V2

1  13  5

2   4 10

3   6  6

4   7 11

5   8 10

6  18  6

7  10  8

8  14 14

9  10  9

10  9 15

11 10  8

12  9  8

13  8  7

14 14  9

15 11  9

16  9  9

17 14 13

18 10  9

19  7  9

20  8 16

[[4]]

   V1  V2

1  24  20

2  26  25

3  23  28

4  22  22

5  23  27

6  31  22

7  33  33

8  31  27

9  19  33

10 25  23

11 25  23

12 33  27

13 26  28

14 25  31

15 26  26

16 25  31

17 22  29

18 28  22

19 22  30

20 30  24

以上是 如何将存储在列表中的矩阵转换为 R 中的数据框? 的全部内容, 来源链接: utcz.com/z/355063.html

回到顶部