如何在R语言中提取列表中每个矩阵的第一行?


为了提取R语言列表中每个矩阵的第一行,我们可以使用lapply函数。例如,如果我们有一个名为LIST的列表包含一些矩阵,那么我们可以使用以下命令找到每个矩阵的第一行:

lapply(LIST,'[',1,)

查看下面的示例以了解如何操作。

示例

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

M1<-matrix(rpois(20,5),ncol=2)
M2<-matrix(rpois(20,1),ncol=2)
M3<-matrix(rpois(20,8),ncol=2)
M4<-matrix(rpois(20,10),ncol=2)
List<-list(M1,M2,M3,M4)
List

创建了以下矩阵列表:

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

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

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

[[4]]
     [,1] [,2]
[1,]   7    8
[2,]  10   16
[3,]  11   14
[4,]   6   10
[5,]  10   12
[6,]   7    7
[7,]  13    8
[8,]  14    6
[9,]   9   14
[10,] 12   18

现在,为了提取列表中每个矩阵的第一行,请将以下代码添加到上面的代码片段中:

M1<-matrix(rpois(20,5),ncol=2)
M2<-matrix(rpois(20,1),ncol=2)
M3<-matrix(rpois(20,8),ncol=2)
M4<-matrix(rpois(20,10),ncol=2)
List<-list(M1,M2,M3,M4)
lapply(List,'[',1,)

输出

如果将以上所有代码片段作为一个程序执行,则会生成以下输出:

[[1]]
[1] 2 6

[[2]]
[1] 1 1

[[3]]
[1] 13 7

[[4]]
[1] 7 8

更新于:2021年11月11日

931 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.