I have a table with 5 columns which represent different variables
T = cell2table(MyArray,'VariableNames',{'ID' 'Region' 'Int_Den' 'Area' 'Group'});
Then, I used unstack to kind of reorganize it
S = unstack(T,'Int_Den','ID');
However, this is not exactly what I need. You can see from the screenshot below that I have a 294x52 table, where the majority of values are NaN. Instead of this, I would like to have a table where the first column is the "Region", and then the IDs will be distributed from columns 2 to 50. At the end the table should be 6 rows x 50 columns.
Thanks,

1 commentaire

Cris LaPierre
Cris LaPierre le 30 Sep 2020
I think we need more more information about your table to help. Any chance you can attach a mat file containing T or MyArray?

Connectez-vous pour commenter.

 Réponse acceptée

Mohammad Sami
Mohammad Sami le 30 Sep 2020

3 votes

The remaining variables are used by unstack as grouping variables. You should exclude them when calling unstack.
T = cell2table(MyArray,'VariableNames',{'ID' 'Region' 'Int_Den' 'Area' 'Group'});
S = unstack(T(:,{'ID' 'Region' 'Int_Den'}),'Int_Den','ID');

3 commentaires

Star Strider
Star Strider le 30 Sep 2020
Mohammad Sami — I would like to vote for your Answer, however there is some sort of problem with the page, and I cannot.
+1 in spirit if not in fact
Mohammad Sami
Mohammad Sami le 1 Oct 2020
Thanks :)
Star Strider
Star Strider le 1 Oct 2020
Apparently, that got fixed!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by