当我必须绑定两个data.tables(或data.frames)时,我使用:
data.full<- rbindlist(list(data.v1, data.v2), fill = T)
rm(data.v1)
rm(data.v2)
gc()
这样可行,但数据在内存中重复了一会儿,如果数据太大,这可能是个大问题。有没有办法在不复制数据的情况下执行此操作?
我非常喜欢不涉及在外部软件(如SQL数据库)中绑定数据的解决方案。一个完美的解决方案就是data.table::setorder(data, id)
取代data <- data[order(id)]
。