How to summarize a matrix based on unique groups
古いコメントを表示
I have a vector A=[1 2 1 4; 5 3 5 7; 6 1 8 9], the first row represent age group, and the second row represents skill level, and the third row is the count of people. From A, I want to produce matrix B where is the compact form of A, in other words, if two or more columns represent the people in the same age and skill level group, we remove all of them and only keep one of them. For our example, A([1 2],1) = A([1 2],3) = [1;5], therefore B=[1 2 4; 5 3 7; 14 1 9].
採用された回答
その他の回答 (1 件)
Kazi
2018 年 2 月 3 日
0 投票
1 件のコメント
Star Strider
2018 年 2 月 3 日
My pleasure!
‘I ran the profiler and it looks like unique function sorts the data and it takes a significant amount of time. Is there any alternative faster solution?’
Not that I am aware of. The unique() function is necessary for the code to work, since it detects the columns with the same values in the first two rows of ‘A’.
カテゴリ
ヘルプ センター および File Exchange で Shifting and Sorting Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!