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 Kommentar

Cris LaPierre
Cris LaPierre am 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?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Mohammad Sami
Mohammad Sami am 30 Sep. 2020

3 Stimmen

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 Kommentare

Star Strider
Star Strider am 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 am 1 Okt. 2020
Thanks :)
Star Strider
Star Strider am 1 Okt. 2020
Apparently, that got fixed!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by