2
我想追加一個月的數據(200k)行到一個已經是16m行的data.frame,並且在我的系統上達到了R內存限制:追加到大型data.frame並打內存限制
d = rbind(d, n)
Error: cannot allocate vector of size 60.8 Mb
In addition: Warning messages:
1: In rbind(deparse.level, ...) :
Reached total allocation of 8072Mb: see help(memory.size)
memory.size
和memory.max
分別報2187.88和8072,所以我認爲我使用我所有的8GB的系統內存。使用JD Long in this question詳細的對象存儲報告功能,我得到了以下報告:
Type Size Rows Columns
d data.table 2,231,877,576 15941535 26
files character 912 13 NA
i numeric 48 1 NA
n data.frame 28,176,000 213116 26
有另一種方式來追加到並不意味着這似乎明顯的目標複製一個data.frame要發生和飲食up內存?我熱衷於避免追加到csv文件,因爲我正在使用.RData保存的對象來更快地讀入數據。