Count numbers of identical rows

6 visualizaciones (últimos 30 días)
Panayiotis Christodoulou
Panayiotis Christodoulou el 4 de Mayo de 2016
Comentada: Star Strider el 4 de Mayo de 2016
Hi there,
I am a new member here.
I have a sample dataset:
3 5
3 5
5 6
5 6
5 6
5 7
6 8
I want the measure how many times does an identical row appears.
so the final result should be :
3 5 2
3 5 2
5 6 3
5 6 3
5 6 3
5 7 1
6 8 1
I have done it with a for loop but because my dataset is 8million x 2 if taking a lot of time and I am looking for an alternative solution.
Thanks
  1 comentario
Star Strider
Star Strider el 4 de Mayo de 2016
Panayiotis Christodoulou’s ‘Answer’ moved here:
there was an error on how the data were represented
please see atatched image

Iniciar sesión para comentar.

Respuesta aceptada

Star Strider
Star Strider el 4 de Mayo de 2016
This works:
M = [3 5
3 5
5 6
5 6
5 6
5 7
6 8];
[Mu,ia,ic] = unique(M, 'rows', 'stable'); % Unique Values By Row, Retaining Original Order
h = accumarray(ic, 1); % Count Occurrences
maph = h(ic); % Map Occurrences To ‘ic’ Values
Result = [M, maph]
Result =
3 5 2
3 5 2
5 6 3
5 6 3
5 6 3
5 7 1
6 8 1
  2 comentarios
Panayiotis Christodoulou
Panayiotis Christodoulou el 4 de Mayo de 2016
thanks for your help!
100% working
Star Strider
Star Strider el 4 de Mayo de 2016
My pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Multidimensional Arrays 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!

Translated by