[R] R and Matlab

Claudia Beleites cbeleites at units.it
Thu Oct 28 17:16:45 CEST 2010


On 10/28/2010 03:16 PM, Thomas Levine wrote:
> Is there a particular reason you can't use csv?
(Not sure whether I'm meant - as I also suggested csv to Santosh)

But:

- It used to work, so there may be code existing that is broken now (e.g. I do
have such code, but at least for the moment it doesn't matter). Thus the 
information may very well be of interest for the maintainer.

- csv is fine for a matrix (or a vector) or a data.frame. How about arrays,
lists, more than one variable?

I think the default file format changed to v7.3 (though I'm not sure whether
that is just for  large variables).
Unfortunately -v switch of load (that used e.g. to allow reading of V4 files) is
gone, and I can't see anything to specify the .mat file format version.
The curious thing is that readMat does accept the file produced by Matlab 2008b.
If it is a matter of writeMat writing an old file format, I'd have expected that
rather load should still be able to read the writeMat generated file than
readMat being able to read Matlab's .mat file.

my 2 ct

Claudia

>
> write.csv() in R
>
> It seems that you can read csv in Matlab with this
> http://www.mathworks.com/help/techdoc/ref/importdata.html
>
> Tom
>
> 2010/10/28 Claudia Beleites<cbeleites at units.it>:
>>> I am looking for ways to use R and Matlab. Doing the data transformations
>>> in
>>> R and using the data in Matlab to analyze with some pre-defined scripts.
>>> Any good ways to transfer the data into matlab in its most recent version?
>>> I tried using R.matlab but the writeMat output is not readable by Matlab.
>>
>> It used to work, but I didn't need it for quite a while (a year or so ago,
>> and with Matlab either 2007 or 2008a).
>>
>> I just tried, and neither does it work for me.
>> You should notify the maintainer of R.matlab and include an example (code
>> and data, e.g. with dput).
>>
>> I noticed that library (R.matlab) does not load the Rcompression package,
>> but also after library (Rcompression), the resulting file was not read by
>> Matlab.
>>
>> I tried loading a saved data.frame in Matlab 2008b on an Win XP computer: it
>> doesn't find any variables inside the .mat file (and whos -file ...) doesn't
>> show a variable.
>>
>> The other way round with a stupid little vector it worked.
>>
>> An R session (with only the 2nd try, after library (Rcompression)) is
>> attached below.
>>
>>
>>> I just need to output a data.frame and read it as is into matlab where I
>>> can
>>> do any needed transformations on the variables.
>>
>> If you need to transfer the data right NOW, there's always csv.
>>
>> Claudia
>>
>> ********************
>>
>>> library (hyperSpec)
>> Loading required package: lattice
>> Package hyperSpec, version 0.95
>>
>> To get started, try
>>    vignette ("introduction", package = "hyperSpec")
>>    package?hyperSpec
>>    vignette (package = "hyperSpec")
>>
>> If you use this package please cite it appropriately.
>>    citation("hyperSpec")
>> will give you the correct reference.
>>
>> The project is hosted on http://r-forge.r-project.org/projects/hyperspec/
>>
>>> sessionInfo ()
>> R version 2.12.0 (2010-10-15)
>> Platform: x86_64-pc-linux-gnu (64-bit)
>>
>> locale:
>>   [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C              LC_TIME=en_US.utf8
>>   [4] LC_COLLATE=en_US.utf8     LC_MONETARY=C
>> LC_MESSAGES=en_US.utf8
>>   [7] LC_PAPER=en_US.utf8       LC_NAME=C                 LC_ADDRESS=C
>> [10] LC_TELEPHONE=C            LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>
>> other attached packages:
>> [1] hyperSpec_0.95    lattice_0.19-13   R.matlab_1.3.3    R.oo_1.7.4
>> R.methodsS3_1.2.1
>>
>> loaded via a namespace (and not attached):
>> [1] grid_2.12.0
>>> library (Rcompression)
>>> x = flu[[]]
>>> writeMat ("flu.mat", flu)
>> Error in dim(x)<- length(x) : invalid first argument
>>> writeMat ("flu.mat", x)
>>> sessionInfo ()
>> R version 2.12.0 (2010-10-15)
>> Platform: x86_64-pc-linux-gnu (64-bit)
>>
>> locale:
>>   [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C              LC_TIME=en_US.utf8
>>   [4] LC_COLLATE=en_US.utf8     LC_MONETARY=C
>> LC_MESSAGES=en_US.utf8
>>   [7] LC_PAPER=en_US.utf8       LC_NAME=C                 LC_ADDRESS=C
>> [10] LC_TELEPHONE=C            LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>
>> other attached packages:
>> [1] Rcompression_0.8-0 hyperSpec_0.95     lattice_0.19-13    R.matlab_1.3.3
>> R.oo_1.7.4
>> [6] R.methodsS3_1.2.1
>>
>> loaded via a namespace (and not attached):
>> [1] grid_2.12.0
>>
>>
>>
>> --
>> Claudia Beleites
>> Dipartimento dei Materiali e delle Risorse Naturali
>> Università degli Studi di Trieste
>> Via Alfonso Valerio 6/a
>> I-34127 Trieste
>>
>> phone: +39 0 40 5 58-37 68
>> email: cbeleites at units.it
>>
>> ______________________________________________
>> 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.
>>


-- 
Claudia Beleites
Dipartimento dei Materiali e delle Risorse Naturali
Università degli Studi di Trieste
Via Alfonso Valerio 6/a
I-34127 Trieste

phone: +39 0 40 5 58-37 68
email: cbeleites at units.it



More information about the R-help mailing list