我彻底搜索了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
答案 0 :(得分:2)
听起来像合并你实际上是rbind
并且想要:
rbindlist(ListData[names(ListData) == '123'])
或者,如果您希望为所有名称完成此操作:
lapply(unique(names(ListData)),
function(n) rbindlist(ListData[names(ListData) == n]))