无法在quantreg使用的RAM内存(Unable to use RAM memory in qu

2019-10-29 14:15发布

我试图运行quantreg超过12 555029箱子2个独立的变量。 我有16GB内存的计算机上,64位操作系统。 命令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内存?

Answer 1:

R可以不使用所有可用的RAM您的系统上。 有一些技巧来克服RAM有限的问题R. [R存储所有数据的RAM,所以这是为什么可以分析的数据的大小限制为RAM的量。 我们应该做的是减少数据的大小,选择更有效的数据类型和一些技巧来克服这个问题。

1 - 您的数据的类型取决于,你可以改变它的类型。 例如, 数值会比整数更多的内存。

2 -使用的因素,而不是人物的地方是可能的。 因为它们存储的水平,而不是整个矢量的因素是更有效的。

3 -使用位向量 ,如果你有没有NA值的任何逻辑变量。 他们只占用1位,而逻辑变量需要4到32位。

4 -重用你的对象,而不是建立新的地方是可能的,确保您调用gc()当您删除某些对象。

5 - 您可以保存你的大大小的数据,将其删除并重新加载它时,它是必要的。

6 -看一看bigmemoryff包。

7 - 关闭所有其他进程在系统上,因为他们把你的RAM的一定量。

你可以看看由Lim和Tjhi名为“R高性能编程”的书。

希望能帮助到你。



文章来源: Unable to use RAM memory in quantreg