无法在Quantreg中使用RAM内存

时间:2019-01-21 11:52:02

标签: r rstudio memory-limit quantreg

我正在尝试在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内存的使用量?

1 个答案:

答案 0 :(得分:2)

R无法使用系统上可用的所有RAM。有一些技巧可以克服R中有限的RAM问题。R将所有数据存储在RAM中,因此这就是可以分析数据大小受限于RAM数量的原因。我们应该做的是减少数据大小,选择更有效的数据类型,以及克服该问题的一些技巧。

1-取决于数据的类型,您可以更改其类型。例如,数字值比整数占用更多的内存。

2-尽可能使用因子而不是字符。因子更有效,因为它们存储的是水平而不是整个向量。

3-如果您有没有NA值的逻辑变量,请使用位向量。它们仅占用1位,而逻辑变量占用4至32位。

4-重用对象而不是在可能的情况下创建新对象,并确保在删除某些对象时调用gc()

5-您可以保存大数据,将其删除并在需要时重新加载。

6-看一下bigmemoryff软件包。

7-关闭系统上的所有其他进程,因为它们占用了一定数量的RAM。

您可以看一下Lim和Tjhi撰写的名为“ R High Performance Programming”的书。

希望有帮助。