【发布时间】:2016-04-18 03:10:42
【问题描述】:
我几乎没有具有相同列的大型数据表dt_1, dt_2, ..., dt_N。我想将它们绑定到一个 datatable 中。如果我使用
dt <- rbind(dt_1, dt_2, ..., dt_N)
或
dt <- rbindlist(list(dt_1, dt_2, ..., dt_N))
那么内存使用量大约是dt_1,dt_2,...,dt_N 所需数量的两倍。有没有办法在不显着增加内存消耗的情况下绑定它们?请注意,一旦将它们组合在一起,我就不需要 dt_1, dt_2, ..., dt_N。
【问题讨论】:
-
我可能已经离开了,但是您是否考虑过在合并
dt后从您的环境中删除dt_1, dt_2等? -
是的,我后来确实删除了它们。但是在绑定过程中,内存仍然翻了一番。
-
查看我的答案可能会慢一些,但使用删除时绑定可能更有效的内存使用。
-
@imsc 您是通过引用询问
rbind吗?听起来很酷,不确定是否可行 -
@jangorecki。这就是我所追求的......将避免复制以及内存消耗。
标签: r data.table rbind