如何增加R中的内存?

时间:2016-08-09 23:52:10

标签: r

我正在尝试在R中加载3Gb csv文件,并收到以下警告:

警告讯息:

1:在扫描中(文件,什么,nmax,sep,dec,quote,skip,nlines,na.strings,:   达到7128Mb的总分配:请参阅help(memory.size)

2:在扫描中(文件,什么,nmax,sep,dec,quote,skip,nlines,na.strings,:   达到7128Mb的总分配:请参阅help(memory.size)

我试过这样做:

  

memory.size()

[1] 766.68

  

memory.limit()

[1] 7128

但我的文件仍然没有加载,我不断收到此警告。有没有办法在R中阅读这个文件?

谢谢!

1 个答案:

答案 0 :(得分:1)

在加载大型数据集时,R的内存效率极低。来自documentation

  

内存使用情况

     

这些功能在阅读时可能会占用大量内存   大文件。 “R数据”中有广泛的讨论   导入/导出'手册,补充说明。

     

如果将colClasses指定为六个中的一个,则将使用较少的内存   原子矢量类。阅读时尤其如此   带有许多不同数值的列,如存储每个值   作为字符串的不同值可能需要多达14倍   将内存存储为整数。

     

使用nrows,即使是温和的高估,也会有助于内存使用。

     

使用comment.char =“”将比read.table快得多   默认值。

     

read.table不是阅读大型矩阵的正确工具,   特别是那些有很多列的那些:它被设计用于读取数据帧   它可能包含非常不同类别的列。请改用扫描   矩阵。