how to sort a cell array inside a struct?

2 Ansichten (letzte 30 Tage)
Chiara Scarpellini
Chiara Scarpellini am 29 Jul. 2021
Beantwortet: Peter Perkins am 29 Jul. 2021
I have this struct and I have to sort every vector on the right side
T=table(string,ID_number);
[G, IDs] = findgroups(T.string);
C = splitapply(@(x){x},T.ID_number,G);
Name_Code = struct('name', cellstr(IDs), 'Code', C);

Akzeptierte Antwort

Peter Perkins
Peter Perkins am 29 Jul. 2021
I think you would be better off with a table than a struct.
Name_Code = table(IDs, C,'VariableNames',["Name" "Codes"])
Name_Code.Codes = cellfun(@sort,Name_Code.Code,"UniformOutput",false)
But Jan is correct, do it at the source.

Weitere Antworten (1)

Jan
Jan am 29 Jul. 2021
Expand
C = splitapply(@(x) {x}, T.ID_number, G);
to
C = splitapply(@(x) {sort(x)}, T.ID_number, G);

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by