Is there a way to use findgroups() so that it is based on order in the matrix instead of alphabetical?
18 次查看(过去 30 天)
显示 更早的评论
I am using findgroups() as an integral part of the script I'm currently working with, but the way that findgroups() outputs its groups is causing issues.
x = {'m1' 'n1' 'k1' 'k1' 'p1' 'p1' 'b1' 'b1' 'b1'}
[g,g_id] = findgroups(x)
What I would prefer is if g outputted as [1 2 3 3 4 4 5 5 5] and g_id as {'m1' 'n1' 'k1' 'p1' 'b1'}. Is there any way to do this?
0 个评论
采纳的回答
Star Strider
2023-7-13
There doesn’t appear to be that option for findgroups. If you only have one vector, the unique function can do thaat using the 'stable' setOrder —
x = {'m1' 'n1' 'k1' 'k1' 'p1' 'p1' 'b1' 'b1' 'b1'}
[g,~,g_id] = unique(x,'stable')
.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!