How do I unstack/transpose table in Matlab?
27 views (last 30 days)
Show older comments
I need to unstack/transpose a table but couldn''t do using unstack ot transpose functions. Please see attached file.
Accepted Answer
TADA
on 31 Jul 2019
unstack groups using a third column, but you can trick it to do what you want by adding a fake third column
id={'id1';'id1';'id2';'id2';'id2'};
cn={'c1';'c2';'c1';'c2';'c3'};
t=table(id,cn,cn,'VariableNames', {'id', 'cn', 'cn_'});
%unstack/transpose
t1=unstack(t,'cn_','cn');
t1 =
2×4 table
id c1 c2 c3
_____ ____ ____ ____
'id1' 'c1' 'c2' ''
'id2' 'c1' 'c2' 'c3'
4 Comments
stone_ward
on 21 Feb 2020
How were you able to do this without defining an aggregation function? I've been trying to use unstack on my table of non-numeric data, which is similar to the example, except that I do happen to have 3 columns of data. Everytime I try to use it, I get an error about needing and aggregation function. When I supply one, I get the error "AGGREGATIONFUNCTION must return a value whose size conforms to elements of hte data variable 'Data'."
Note: Data is my datavar.
More Answers (1)
See Also
Categories
Find more on Tables 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!