[R] R.matlab memory use

Ben Bolker bbolker at gmail.com
Mon Dec 20 04:54:59 CET 2010

Stefano Ghirlanda <dr.ghirlanda <at> gmail.com> writes:

> I am trying to load into R a MATLAB format file (actually, as saved by
> octave). The file is about 300kB but R complains with a memory
> allocation error:
> > library(Rcompression)
> > library(R.matlab)
> Loading required package: R.oo
> Loading required package: R.methodsS3
> R.methodsS3 v1.2.0 (2010-03-13) successfully loaded. See ?R.methodsS3 for help.
> R.oo v1.7.2 (2010-04-13) successfully loaded. See ?R.oo for help.
> R.matlab v1.3.1 (2010-04-20) successfully loaded. See ?R.matlab for help.
> > f <- readMat("freq.mat")
> Error: cannot allocate vector of size 296.5 Mb
> On the other hand, if I save the same data in ascii format (from
> octave: "save -text"), resulting in a 75MB file, then I can load it
> without problems with the read.octave() function from package foreign.
> Is this a known issue or am I doing something wrong? My R version is:

  This is not a package I'm particularly familiar with, but:

  what commands did you use to save the file in octave?  Based on
'help save' I think that 'save' by default would get you an octave
format file ... you might have to do some careful reading in 
?readMat (in R) and 'help save' (in octave) to figure out the
correspondence between octave/MATLAB and R/MATLAB.
   If possible, try saving a small file and see if it works; if
you still don't know what's going on, post that file somewhere for
people to try.

  I was able to 

save -6 "save.mat" in octave and 
readMat("save.mat") in R successfully,
saving a vector of integers from 1 to 1 million (which
took about 7.7 Mb)

More information about the R-help mailing list