合并R中列表ID的data.table列表

时间:2014-02-06 17:15:59

标签: r data.table

我彻底搜索了SO,但我不得不说搜索越来越困难。然而,对于你们大多数人来说这是非常简单的!

我的数据如下:

library(data.table)

dataX <- data.table(V1 = "Tuesday", a2012 = rnorm(1), a2011 = rexp(1,2))
dataY <- data.table(V1 = "Monday", a2012 = rnorm(1), a2011 = rexp(1,2),a2010 = rbinom(1,2,0.3))
data1 <- list(dataX, dataY)
names(data1) <- c(123,456)
ListData <- rep(data1,6)

我有多个data.tables列表,我想合并它们。如何

如何通过ID合并多个data.tables列表?

这是我想要的:

 $`123`

        V1     a2012     a2011   
 1: Tuesday 0.4943128 0.1045589
 2: Tuesday -0.864036 0.2515042  
 3: Tuesday -0.864036 0.2515042 

1 个答案:

答案 0 :(得分:2)

听起来像合并你实际上是rbind并且想要:

rbindlist(ListData[names(ListData) == '123'])

或者,如果您希望为所有名称完成此操作:

lapply(unique(names(ListData)),
       function(n) rbindlist(ListData[names(ListData) == n]))