r语言内存不足可以用虚拟内存吗

Python013

r语言内存不足可以用虚拟内存吗,第1张

可以。出现r语言内存不足的问题很常见,可以在windows中对数据的虚拟内存进行适当上限的调整。r语言是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

打开RStudio,输入memory.limit()。这时显示出的是系统分配给R语言的内存使用上限,如果你的电脑是64位的,那就输入memory.limit(102400),把系统分配给R语言的内存使用上限调到100G如果你的电脑是32位的,那就输入memory.limit(4000),把系统分配给R语言的内存使用上限调到4G,因为32位系统只能支持4G内存,有了上面的命令,接下来再用R语言处理数据就不会卡了,记得在每次新打开R语言之前都要memory.limit(102400)一下,还有,还可以使用memory.size()查看现在的workspace的内存使用情况。

有个比较简单暴力的方法是fread里的nrows参数设置。

R所有读取数据的函数都有nrows和skip这两个参数,可以写个循环,一个文件分段读取,skip跳过前面读过的,用nrows控制最大读入行数,防止内存不足。

分段处理之后将文件写入本地,用rm将比较大的变量消除掉,用gc()释放这部分内存。

——好处是简单粗暴多平台可用,缺点是,真的很慢……

如果有条件还是建议申请个服务器来跑,比如学生可以询问导师院系有没有用于大型计算的服务器。

另外Unix系统对内存的限制确实是比Windows好些,可惜我也不知道正确的打开方式QAQ