Can MATLAB read 'R' data files (*.Rda) directly?
70 views (last 30 days)
Show older comments
If so, what is the appropriate function?
0 Comments
Answers (2)
Peter
on 9 Jun 2023
If you have Python installed on your system, you can use use the Matlab python call functionality to read in such R files.
Firstly, ensure that you have installed the Python package pyreadr onto your system; this package reads/writes R RData and Rds files into/from pandas data frames, and does not require R to have been installed, not any other external dependencies installed.
Then you can load in matlab via the command:
dict = py.pyreadr.read_r(<path to rda file>);
As it stands the variable "dict" will be a Python OrderedDict, so to use data it contains you need to create a matlab array as follows:
result=double(dict{<key>}.values);
where <key> is the string defining which key of the pandas frame dict you wish to extract.
If in doubt, check which keys the imported panda frame has by running the command:
dict.keys()
Once you have found the key of interest, you may further check the complete properties of the data stored under this key by running the command:
dict{<key>}
0 Comments
Pierre Benoit
on 17 Sep 2014
Edited: Pierre Benoit
on 17 Sep 2014
2 Comments
Andrew
on 22 Sep 2020
Now in 2020 with R studio 1.1.456, the 'write' function croaked with a mysterious "Error in cat...argument 1 (type 'list') cannot be handled by cat" error, but:
write.csv(variable,"filename");
worked just fine.
See Also
Categories
Find more on Call Python from MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!