在R中单独列出元素并创建一个新列表

时间:2016-03-12 03:09:22

标签: r lapply

我有一个名为xclude的列表,其中嵌入了三个单独的inkdata.framets1。每个ts2都有一个列结构:ts3data.frame,.... X1

我想创建一个包含相同X2个名称(X10data.framets1)的新列表,但ts2'只包含ts3列。

所以,在:

data.frame

输出应为:

  

$ ts1 X1 1 1 2 1 3 0 4 0 5 0 6 0 7 1 8 0 9 0 10 0

     

$ ts2 X1 1 0 2 0 3 1 4 1 5 0 6 0 7 0 8 0 9 0 10 0

     

$ ts3 X1 1 1 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1

我希望在X1中使用lapply完成此操作。

1 个答案:

答案 0 :(得分:2)

保留列表结构

保留列表结构& data.frame名称,请使用:

helper = function(x,p){
  x[,p, drop =  F]
}

m = lapply(k,FUN=helper, p = "X1")

p允许您选择列名称

drop = F可防止信息被删除。

使用lapply会根据请求返回list结构data.frame

合并总计data.frame

问题的第一眼,我写了以下内容。以上是具有适当响应的编辑。

最好的方法是使用rbindlist()

中的data.table
install.packages("data.table")
library("data.table")
total = rbindlist(k)

x1 = total[,"X1", with = F]