フィルターのクリア

Count numbers of identical rows

36 ビュー (過去 30 日間)
Panayiotis Christodoulou
Panayiotis Christodoulou 2016 年 5 月 4 日
コメント済み: Star Strider 2016 年 5 月 4 日
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 件のコメント
Star Strider
Star Strider 2016 年 5 月 4 日
Panayiotis Christodoulou’s ‘Answer’ moved here:
there was an error on how the data were represented
please see atatched image

サインインしてコメントする。

採用された回答

Star Strider
Star Strider 2016 年 5 月 4 日
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 件のコメント
Panayiotis Christodoulou
Panayiotis Christodoulou 2016 年 5 月 4 日
thanks for your help!
100% working
Star Strider
Star Strider 2016 年 5 月 4 日
My pleasure!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by