how to sort a cell array inside a struct?

1 回表示 (過去 30 日間)
Chiara Scarpellini
Chiara Scarpellini 2021 年 7 月 29 日
回答済み: Peter Perkins 2021 年 7 月 29 日
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);

採用された回答

Peter Perkins
Peter Perkins 2021 年 7 月 29 日
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.

その他の回答 (1 件)

Jan
Jan 2021 年 7 月 29 日
Expand
C = splitapply(@(x) {x}, T.ID_number, G);
to
C = splitapply(@(x) {sort(x)}, T.ID_number, G);

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by