从列表列表中提取数据[R]

时间:2016-04-08 05:50:18

标签: r list lapply

我有一个列表(mydata $ notes),我想从中提取数据。代码看起来像这样,如果我想提取“位置” - 这很好。

location <- unlist (lapply(mydata$notes, function(e) e$location))

现在,我可能有一些我想要提取的变量,例如20的矢量,“位置”,“var1”,“var2”,“var3”等等,在原子矢量中

names(unlist(mytree$notes[[1]]))

如何循环我的第一个代码来提取这个名称变量中给出的所有变量?

干杯

1 个答案:

答案 0 :(得分:0)

定义一个向量来保存要提取的列表元素。然后拨打每个列表中的unlist(),该列表由您致电lapply()处理。

vars <- c("location", "var1", "var2", "var3")

location <- unlist (lapply(mydata$notes,
                           function(e) {
                               unlist(e[vars])
                           }))

请注意,我所做的唯一真正的改变是,不是返回原子向量e$location而是返回一个由每个列表中的几个折叠元素组成的向量。