[R] Technique for reading large sparse fwf data file
Doran, Harold
HDoran at air.org
Tue Dec 13 14:36:45 CET 2005
I should have also noted in this email how I have allocated memory and
an error that appears.
I'm using Windows, so as in FAQ 2.2 I did
"C:\Program Files\R\R-2.2.0\bin\Rgui.exe" --sdi --max-mem-size=2Gb
# Check memory size in R
> example(memory.size)
mmry.s> memory.size()
[1] 11894064
mmry.s> memory.size(TRUE)
[1] 12500992
mmry.s> round(memory.limit()/1048576, 2)
[1] 2048
An interesting issue appears after trying to import the subset of the
larger file (which is a csv file 75,238 KB). R indicates it has run out
of memory as:
Error: vector memory exhausted (limit reached?)
Error: vector memory exhausted (limit reached?)
So, when I then try to quit R, it doesn't allow me to. Here is a copy
and paste from my workspace.
> quit()
Error: vector memory exhausted (limit reached?)
> quit()
Error: recursive default argument reference
> quit()
Error: vector memory exhausted (limit reached?)
>
Clearly, enough memory is allocated to handle this file. But, I also
wonder why R then locks and I need to do a forced shut down.
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Doran, Harold
Sent: Tuesday, December 13, 2005 5:33 AM
To: r-help at stat.math.ethz.ch
Subject: [R] Technique for reading large sparse fwf data file
Dear list:
A datafile was sent to me that is very large (92890 x 1620) and is
*very* sparse. Instead of leaving the entries with missing data blank,
each cell with missing data contains a dot (.)
The data are binary in almost all columns, with only a few columns
containing whole numbers, which I believe requires 2 bytes for the
binary and 4 for the others. So, by my calculations (assuming 4 bytes
for all cells to create an upperbound) I should need around 92890 * 1620
* 4 = 574MB to read in these data and about twice that for analyses. My
computer has 3GB.
But, I am unable to read in the file even though I have allocated
sufficient memory to R for this.
My first question is do the dots in the empty cells consume additional
memory? I am assuming the answer is yes and believe I should remove them
before I do the read in. Because my data are in a fixed width format
file, I can open the file in a text editor and find and replace all dots
with nothing. Then, I should retry the read in process? Maybe this will
work?
I created a smaller data file (~ 14000 * 1620) in SAS and tried to
import this subset (it still had the dots), but R still would not allow
for me to do so.
I could use a little guidance as I think I have allocated sufficient
memory to read in a datafile assuming my calculations are right.
Does anyone have any thoughts on a strategy?
Harold
[[alternative HTML version deleted]]
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list