How can I create a matrix that contains number and text without using the cell array?

2 views (last 30 days)
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

Answers (2)

the cyclist
the cyclist on 3 Feb 2023
Edited: the cyclist on 3 Feb 2023
The MATLAB table data type is probably the best for this.
Then, how you choose to export the data from MATLAB will also be important. You can use the writetable function for that.

Sulaymon Eshkabilov
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')

Categories

Find more on Matrices and Arrays 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!