combine doubles and categorical

42 次查看(过去 30 天)
I have three doubles (11318560x1 double) and three categoricals of the same length. How do I combine these into a matrix (of 11318560x6)?
  1 个评论
Rogier Busscher
Rogier Busscher 2017-5-25
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{:});

请先登录,再进行评论。

采纳的回答

Abel Babu
Abel Babu 2017-5-30
编辑:Abel Babu 2017-5-30
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by