R could not allocate memory on ff procedure. How come?

前端 未结 1 561
闹比i
闹比i 2021-01-15 07:16

I\'m working on a 64-bit Windows Server 2008 machine with Intel Xeon processor and 24 GB of RAM. I\'m having trouble trying to read a particular TSV (tab-delimited) file of

1条回答
  •  野的像风
    2021-01-15 07:30

    (I realize this is an old question, but I had the same problem and spent two days looking for the solution. This seems as good a place as any to document what I eventually figured out for posterity.)

    The problem isn't that you are running out of available memory. The problem is that you've hit the memory limit for a single string. From help('Memory-limits'):

    There are also limits on individual objects. The storage space cannot exceed the address limit, and if you try to exceed that limit, the error message begins cannot allocate vector of length. The number of bytes in a character string is limited to 2^31 - 1 ~ 2*10^9, which is also the limit on each dimension of an array.

    In my case (and it appears yours as well) I didn't bother to set the quote character since I was dealing with tab separated data and I assumed it didn't matter. However, somewhere in the middle of the data set, I had a string with an unmatched quote, and then read.table happily ran right past the end of line and on to the next, and the next, and the next... until it hit the limit for the size of a string and blew up.

    The solution was to explicitly set quote = "" in the argument list.

    0 讨论(0)
提交回复
热议问题