在1255029个案例中,我尝试用2个自变量运行quantreg。我在电脑上有16 OS内存,64位操作系统。命令memory.limit()返回16264。命令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没有使用其他可用的内存?如何增加内存的使用?
发布于 2019-01-21 12:03:14
R不能使用系统上可用的所有RAM。在R中有一些技巧可以克服有限的RAM问题,因为R存储RAM上的所有数据,所以这就是为什么可以分析数据的大小被限制在RAM的数量上。我们应该做的是减少数据的大小,选择更有效的数据类型和一些技巧来克服这个问题。
1-取决于您的数据类型,您可以更改它的类型。例如,数值比整数占用更多的内存。。
2-在可能的情况下使用因子而不是字符。因素更有效,因为它们存储的是水平而不是整个向量。
3-如果您有没有NA值的逻辑变量,请使用位向量。它们只占1位,而逻辑变量则占4至32位。
4-重用您的对象,而不是在可能的地方创建新的对象,并确保在删除某些对象时调用gc()。
5-你可以保存你的大数据,删除它,并在必要时重新加载它。
6-看看bigmemory和ff包。
7-关闭系统上的所有其他进程,因为它们占用了您的内存。
你可以看看Lim和Tjhi写的题为“R高性能编程”的书。
希望能帮上忙。
https://stackoverflow.com/questions/54289404
复制相似问题