Categorical cell array reshaping
7 次查看(过去 30 天)
显示 更早的评论
Dear All
I have a cell array (2x7) of 1x1 categorical arrays that looks like below
1 0 0 0 0 1 0
1 1 1 1 0 1 0
I like to combine this into a 1x7 cell array of categories so it looks like below
1;1 0;1 0;1 0;1 0;0 1;1 0;0
Anyone have any ideas how to do this. Help is highly appreciated.
Cheers Mads
3 个评论
Image Analyst
2019-7-11
Original question in case user edits it away:
Dear All
I have a cell array (2x7) of 1x1 categorical arrays that looks like below
1 0 0 0 0 1 0
1 1 1 1 0 1 0
I like to combine this into a 1x7 cell array of categories so it looks like below
1;1 0;1 0;1 0;1 0;0 1;1 0;0
Anyone have any ideas how to do this. Help is highly appreciated.
Cheers Mads
采纳的回答
Guillaume
2018-8-18
this is a 2x7 cell array of 1x1 categorical arrays
example cell array:
yourcellarray = num2cell(categorical([1 0 0 0 0 1 0; 1 1 1 1 0 1 0]))
notice that I first construct a 2x7 categorical array to create the cell array. A categorical array is what you should use instead of a cell array of categorical, so let's convert it back to a simple array. Unfortunately, cell2mat only works with numerical types so we have to be a bit roundabout:
c = reshape([yourcellarray{:}], size(yourcellarray));
You should leave it at that. If you do really want a cell array of column vector (which would be slower and more complicated to use), you can convert c back to a cell array with
num2cell(c, 1)
I wouldn't recommend it.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Categorical Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!