鉴于数据集加载后运行速度有多慢,我一直无法在R中工作。这些数据集总计约8GB。我正在8GB RAM上运行,并且已调整memory.limit
以超过我的RAM,但似乎没有任何作用。另外,我使用了fread
包中的data.table
来读取这些文件;仅仅是因为read.table
无法运行。
在论坛上看到针对同一问题的类似帖子后,我尝试运行gctorture()
,但无济于事。
R运行如此缓慢,以至于我什至无法检查自己上传的数据集列表的长度,无法View
或上传这些数据集后进行任何基本操作。
我尝试将数据集以“片段”的形式上传,因此总文件的1/3超过3倍,这似乎使导入部分的运行更加顺畅,但对于R的运行速度却没有任何改变在此之后运行。
有什么办法可以解决这个问题?任何帮助将不胜感激。
谢谢大家的时间。
答案 0 :(得分:2)
出现问题是因为R将整个数据集加载到RAM中,这在尝试View
数据时主要导致系统停止运行。
如果这是一个非常庞大的数据集,请首先确保数据仅包含最重要的列和行。可以通过您对问题拥有的领域和世界知识来识别有效的列。您也可以尝试消除缺少值的行。
完成此操作后,根据您的数据大小,您可以尝试其他方法。一种是通过使用bigmemory
和ff
之类的包。例如,bigmemory
创建一个指针对象,您可以使用该对象从磁盘读取数据而无需将其加载到内存中。
另一种方法是通过并行(隐式或显式)。 MapReduce
是另一个软件包,对于处理大型数据集非常有用。