例如,考虑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)