我正在尝试在12 555 029个案例中使用2个自变量运行quantreg
。
我在64位操作系统的计算机上有16GB RAM。
命令memory.limit()
返回了 16 264 。
命令sessionInfo()
返回:
R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.5.2 tools_3.5.2
在执行quantreg
期间,最多只能使用 4GB 。我在任务管理器中看到了这一点。尚未结束一个多小时,我停止了。
为什么quantreg
没有使用其他可用的RAM?如何增加RAM内存的使用量?
答案 0 :(得分:2)
R无法使用系统上可用的所有RAM。有一些技巧可以克服R中有限的RAM问题。R将所有数据存储在RAM中,因此这就是可以分析数据大小受限于RAM数量的原因。我们应该做的是减少数据大小,选择更有效的数据类型,以及克服该问题的一些技巧。
1-取决于数据的类型,您可以更改其类型。例如,数字值比整数占用更多的内存。
2-尽可能使用因子而不是字符。因子更有效,因为它们存储的是水平而不是整个向量。
3-如果您有没有NA值的逻辑变量,请使用位向量。它们仅占用1位,而逻辑变量占用4至32位。
4-重用对象而不是在可能的情况下创建新对象,并确保在删除某些对象时调用gc()
。
5-您可以保存大数据,将其删除并在需要时重新加载。
6-看一下bigmemory
和ff
软件包。
7-关闭系统上的所有其他进程,因为它们占用了一定数量的RAM。
您可以看一下Lim和Tjhi撰写的名为“ R High Performance Programming”的书。
希望有帮助。