我知道可以使用
merge
函数或 [.data.table
函数来合并(连接)两个 data.table
,但是如果我有10个 data.table
并想要使用 do.call
将它们全部合并在一起,是否有一个函数可以做到这一点?目前,我只能使用 do.call(cbind, ...)
适用于非常特殊的情况。
mymerge = function(x,y) merge.data.table(x,y,all=TRUE)
的包装器,将该包装器传递给Reduce
函数,即Reduce(mymerge,list(DT1,DT2,DT3,...))
。 - Matt Dowledata.table
没有设置键值,那么这个包装器应该是这样的:function(x, y) x[y, on = "merge_column_name"]
。 - MichaelChirico