How can I create a matrix that contains number and text without using the cell array?
4 views (last 30 days)
Show older comments
Hi,
I need to turn a structure into a matrix (as an Excel-like table - see above). I can transpose the single data stored in the different fields to create my table (as I did above), but I can't add columns containing text. I know I am supposed to create a cell array, but my goal is to have all my data in a single matrix that I can open in R for analysis. I'm also trying to open a cell array in R but doesn't really work well.
Thank you very much!
Riccardo
2 Comments
Walter Roberson
on 3 Feb 2023
Unfortunately https://www.rdocumentation.org/packages/rmatio/versions/0.12.0/topics/read.mat says almost nothing about what kinds of variables it can read in R.
the cyclist
on 4 Feb 2023
Yeah, the unfortunate practical reality is that converting to CSV is almost always the way to communicate between statistical software languages.
Answers (2)
the cyclist
on 3 Feb 2023
Edited: the cyclist
on 3 Feb 2023
Then, how you choose to export the data from MATLAB will also be important. You can use the writetable function for that.
0 Comments
Sulaymon Eshkabilov
on 3 Feb 2023
The most efficientw ay of getting this exercise done is wot use writetable():
% (1) Some structure data:
A.Data1 =(1:10).';
A.Data2=randn(10,1)*10;
A.TXT = [''; ''; 'abc'; 'bac'; 'cba'; 'cab'];
% (2) Convert it into a table array
B = array2table(A.Data1);
B.Var2 = A.Data2;
% (3) Write them (numerical and textual data) into MS Excel using writetable()
writetable(B, 'RData.xls', 'WriteVariableNames',false, 'Sheet', 1);
C = table(A.TXT);
writetable(C, 'RData.xls', 'WriteVariableNames',false, 'Sheet', 1, 'Range', 'C5:C10')
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!