Is there a way to use findgroups() so that it is based on order in the matrix instead of alphabetical?
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Liam
el 13 de Jul. de 2023
Comentada: Star Strider
el 13 de Jul. de 2023
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 comentarios
Respuesta aceptada
Star Strider
el 13 de Jul. de 2023
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')
.
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!