从R中的列表中提取项目

时间:2017-06-19 12:49:23

标签: r list

我有一个列表列表(不确定这个的技术名称),我想从列表中的每个元素中提取第一个子元素,但不知道该怎么做。

例如,假设我有一个长度为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)

在此示例中,我想要提取ad。我尝试了Lol[[]][[1]],但没有成功。

2 个答案:

答案 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()本身会返回一个列表。