我有一个列表列表(不确定这个的技术名称),我想从列表中的每个元素中提取第一个子元素,但不知道该怎么做。
例如,假设我有一个长度为2的列表,每个元素中有两个子元素。我想提取每个元素中的第一个子元素。
a = data.frame(name=c("A","B","C"),num=c(1,2,3))
b = data.frame(name=c("C","B","A"),num=c(3,2,1))
d = data.frame(name=c("D","E","F"),num=c(4,5,6))
e = data.frame(name=c("F","E","D"),num=c(6,5,4))
list = list(a,b)
list2 = list(d,e)
LoL = list(list,list2)
在此示例中,我想要提取a
和d
。我尝试了Lol[[]][[1]]
,但没有成功。
答案 0 :(得分:1)
我们可以做到
lapply(LoL, `[[`, 1)
答案 1 :(得分:0)
尝试lapply()
lapply(LoL, function(x) { x[[1]] } )
# [[1]]
# name num
# 1 A 1
# 2 B 2
# 3 C 3
#
# [[2]]
# name num
# 1 D 4
# 2 E 5
# 3 F 6
请注意lapply()
本身会返回一个列表。