【发布时间】:2011-10-28 23:15:26
【问题描述】:
我需要 rbind 两个大数据帧。现在我用
df <- rbind(df, df.extension)
但我(几乎)立即耗尽了内存。我猜是因为 df 在内存中保存了两次。将来我可能会看到更大的数据帧,所以我需要某种就地 rbind。
所以我的问题是:有没有办法在使用 rbind 时避免内存中的数据重复?
我找到了这个question,它使用了SqlLite,但我真的很想避免将硬盘驱动器用作缓存。
【问题讨论】:
-
@Dwin:你付钱了吗?如果是这样,你也可以给我买一些吗? ;-)
-
如果我为自己工作,它会为提高生产力而付出代价,当我向我现在的雇主提出这个论点时,它被接受为“商业案例”。
-
@DWin:两个问题:1:我了解到(重新)编码时间需要 TARDIS。 2:超出一个特定的最佳位置,内存映射比获得更多 RAM 更好。通常,HPC 的目标函数是多维的。
-
告诉我们两个 dfs 的尺寸。好像
object.size(df) >> object.size(df.extension),对吧?另外,我们可以安全地假设它们的两列在数量、名称、类型、因子水平上都相同吗?所以我们不需要检查、填充缺失的列、NA 等?