如何将 data.frames 的列表附加到 data.frame 以进行合并?

How to append a list of data.frames to a data.frame for merge?

我有一份来自 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 变量合并到该文件。

可能

Reduce(merge, dlist, init=master)