如何将存储在列表中的矩阵转换为 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