[R] R.matlab memory use

Stefano Ghirlanda dr.ghirlanda at gmail.com
Mon Dec 20 16:11:28 CET 2010


Hi Ben,
Thanks for your reply. My data structure is about 20000 x 2000 so one
order of magnitude the one you tried. I have no problem saving and
reading smaller data structures (even large ones, just not his large)
between octave and R using octave's "save -7" (which saves MATLAB v5
files) and R.matlab's readMat. And I can save in text format in octave
and read in R using read.octave (from package foreign) so it's not a
big deal. I was just surprised that R.matlab needed more memory than I
have (I have 3GB on this machine).

Thanks,
Stefano

On Sun, Dec 19, 2010 at 10:54 PM, Ben Bolker <bbolker at gmail.com> wrote:
> 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)
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Stefano Ghirlanda
www.intercult.su.se/~stefano - drghirlanda.wordpress.com



More information about the R-help mailing list