combine doubles and categorical

56 views (last 30 days)
Rogier Busscher
Rogier Busscher on 25 May 2017
Edited: Abel Babu on 30 May 2017
I have three doubles (11318560x1 double) and three categoricals of the same length. How do I combine these into a matrix (of 11318560x6)?
  1 Comment
Rogier Busscher
Rogier Busscher on 25 May 2017
Just to be clear, I tried [A B C X Y Z], but the error I get is:
Error using categorical/cat (line 43) Can not concatenate a double array and a categorical array.
Error in categorical/horzcat (line 22) a = cat(2,varargin{:});

Sign in to comment.

Accepted Answer

Abel Babu
Abel Babu on 30 May 2017
Edited: Abel Babu on 30 May 2017
Hi,
The data structure that fits your use case is the MATLAB tables, more about the same can be read here: https://in.mathworks.com/help/matlab/ref/table.html
To give a sample code:
double1 = [1;2;3];
double2 = [3;4;5];
double3 = [5;6;7];
catData1 = {'tag1';'tag2';'tag3'};
catData2 = {'tag3';'tag4';'tag5'};
catData3 = {'tag5';'tag6';'tag7'};
rownames = {'double1';'double2';'double3';'categorical1';...
'categorical2';'categorical3'};
T = table(double1,double2,double3,categorical(catData1),...
categorical(catData2),categorical(catData3),'VariableNames',rownames);
Do refer the 'categorical' function used in the code in this link: https://in.mathworks.com/help/matlab/ref/categorical.html
Abel

More Answers (0)

Categories

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