Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅为R 2 GB中的实体分配内存?_R_Memory_Memory Management_Stringr_Nul - Fatal编程技术网

仅为R 2 GB中的实体分配内存?

仅为R 2 GB中的实体分配内存?,r,memory,memory-management,stringr,nul,R,Memory,Memory Management,Stringr,Nul,Windows 10 64位、32 GB RAM、Rstudio 1.1.383和R 3.4.2(最新) 我有几个csv文件,其中至少有1或2行充满了许多nul值。因此,我编写了一个脚本,它使用R中的stringr包中的read\u lines\u raw()读取原始格式的文件。它生成一个列表,其中每个元素都是一行。然后我检查00(nul值),当发现该行被删除时 其中一个文件的大小为2.5 GB,并且在其中的某个位置具有nul值。问题是,read\u lines\u raw无法读取此文件并引发错

Windows 10 64位、32 GB RAM、Rstudio 1.1.383和R 3.4.2(最新)

我有几个csv文件,其中至少有1或2行充满了许多nul值。因此,我编写了一个脚本,它使用R中的stringr包中的read\u lines\u raw()读取原始格式的文件。它生成一个列表,其中每个元素都是一行。然后我检查00(nul值),当发现该行被删除时

其中一个文件的大小为2.5 GB,并且在其中的某个位置具有nul值。问题是,read\u lines\u raw无法读取此文件并引发错误:

r in read_lines_raw_(ds, n_max = n_max, progress = progress) : 
  negative length vectors are not allowed
could not allocate memory (2048 Mb) in C function 'R_AllocStringBuffer'
我甚至不明白这个问题。我的一些研究暗示了一些关于内存大小的问题,但甚至没有使用一半的内存。它能够读取的其他一些文件的大小为1.5 GB。这个文件太大了,还是其他原因导致了这个问题

更新1:

我试图使用scan读取整个文件,但这也给了我一个错误:

r in read_lines_raw_(ds, n_max = n_max, progress = progress) : 
  negative length vectors are not allowed
could not allocate memory (2048 Mb) in C function 'R_AllocStringBuffer'
因此,尽管我的电脑是32 GB,但实体的最大允许空间是2 GB?我检查了一下,确保它运行的是64位R,是的

> version
               _                           
platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          3                           
minor          4.2                         
year           2017                        
month          09                          
day            28                          
svn rev        73368                       
language       R                           
version.string R version 3.4.2 (2017-09-28)
nickname       Short Summer
似乎很多人都面临着类似的问题,但我找不到解决办法。如何增加单个实体的内存分配?memory.limit()返回32 GB,这是RAM大小,但这没有帮助。memory.size()确实给出了接近2GB的值,而且由于磁盘上的文件是2.7GB,因此我认为这就是产生错误的原因

多谢各位