访问R中列表的第一行

R_F*_*F92 5 r list

例如,考虑R中的列表

A=list()
A[[1]]=c(1,2)
A[[2]]=c(3,4)
Run Code Online (Sandbox Code Playgroud)

是否可以返回一个向量,该向量给出列表中每个条目的第一个元素(这里c(1,3))?

并作为扩展:如果列表的元素不仅仅是向量而是矩阵,那该怎么办?是否可以为每个矩阵获取包含第二行第一个元素的向量?

Sow*_*ian 10

 A=list()
 A[[1]]=c(1,2)
 A[[2]]=c(3,4)
 A[[3]]=c(5,6)

 A
 # [[1]]
 # [1] 1 2

 # [[2]]
 # [1] 3 4

 # [[3]]
 # [1] 5 6
Run Code Online (Sandbox Code Playgroud)

I.第一个解决方案sapply(),仅使用第一个元素的函数

 sapply(A,'[[',1)
 # [1] 1 3 5
Run Code Online (Sandbox Code Playgroud)

For Getting让我们说出每个嵌套列表的第1,第3,第4个元素.在此示例中不适用

 sapply(A,`[`,c(1,3,4))
Run Code Online (Sandbox Code Playgroud)

II.使用for循环的第二个解

 for(i in 1:length(A)){
 print (A[[i]][1])
 }
 # [1] 1
 # [1] 3
 # [1] 5
Run Code Online (Sandbox Code Playgroud)


jkt*_*jkt 6

试试这个:

sapply(A, "[", 1) 
Run Code Online (Sandbox Code Playgroud)