我有一个来自lapply
的data.frames列表,让我们称之为dflist
。我想将这些文件合并到一个当前不在列表中的现有data.frame(称之为master
)。
如果我有一个新的data.frames列表,其中master
是第一个元素,而下一个元素是来自dflist
的元素,我可以发出Reduce(merge, new_list)
。我怎样才能到达此列表?
这是一个可重复的例子:
library(data.table)
master <- data.table(id = 1:5, var = c("A", "B", "C", "D", "E"))
setkey(master, "id")
dflist <- list(data.table(id = 1:5, z1 = runif(5)), data.table(id = 1:5, z2 = runif(5)))
lapply(dflist, function(x) {setkey(x, "id")})
Reduce(merge, dflist)
完美无缺。我想将master
包含在列表中,作为将data.tables中的每个z变量合并到该文件的第一个元素。
答案 0 :(得分:3)
也许
Reduce(merge, dlist, init=master)