阅读 166

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

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

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


lapply(LIST,function(x) as.vector(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


要将列表中存储的矩阵转换为 R 中的向量,请将以下代码添加到上述代码段中 -


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.vector(x))

输出结果


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


[[1]][1] 3 10 3 2 10 8 7 3 7 3 8 4 4 4 5 7 4 5 10 7 6 2 6 3 4[[2]][1] 6 6 6 1 7 8 3 5 2 3 3 6 7 3 5 6 3 7 6 6 4 3 4 10 6[[3]][1] 13 4 6 7 8 18 10 14 10 9 10 9 8 14 11 9 14 10 7 8 5 10 6 11 10[26] 6 8 14 9 15 8 8 7 9 9 9 13 9 9 16[[4]][1] 24 26 23 22 23 31 33 31 19 25 25 33 26 25 26 25 22 28 22 30 20 25 28 22 27[26] 22 33 27 33 23 23 27 28 31 26 31 29 22 30 24


文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐