Eliminate repeating values in column, but keep one set and append the following column's value to kept values in first column:
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
fernando aguirre
el 25 de Mayo de 2018
Comentada: fernando aguirre
el 25 de Mayo de 2018
Need to convert matrix A(250000x2) to A(14x250000) where values in first column repeat. Values in second column next to repeated values from first column need to be appended to the rows corresponding to that repeated value (and repeated values removed). Basically shifting. I can use unique to pull the values from the first column along with their index, but I am having trouble finding a way to transfer those values "up". Any suggestions?
[14 #1; 13 #1;...;1 #1;14 #2; 13 #2;...;1 #2;...14 #n; 13 #n;...;1 #n]
to
[14 #1 #2...#n;13 #1 #2...#n;...;1 #1 #2...#n]
0 comentarios
Respuesta aceptada
Ameer Hamza
el 25 de Mayo de 2018
Try
splitapply(@(x) {x}, A(:,2), findgroups(A(:, 1)));
3 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Shifting and Sorting Matrices 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!