Counting the number of appearance of a value in a loop

3 Ansichten (letzte 30 Tage)
Hi everyone,
I have the following matrix called all_indices_pesi in matlab:
consisting of the first column being a column of zeros and ones and the second column a column of indices which possibly repeat within the vector. Now my aim is the following:
  1. I would like to count the number of times an index appear in column 2 (so for insstance how many times does the element 78818 appear in the second column? How many times doess 78824 appears? and so on...). Let's call it num_instances;
  2. I would like to count the number of timess that a certain index in column 2 has a value of 1 in column 1. Let's call it num_ones;
  3. I would like to see, for each unique element of column 2 the share "num_ones/num_instances" and project it into a 646x151 matrix in the places indicated by the unique indices in column 2
Thank you

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 6 Jul. 2022
Bearbeitet: Walter Roberson am 6 Jul. 2022
[G, value] = findgroups(all_indices_pesi(:,2));
count = accumarray(G, 1);
num_instances = table(value, count);
See findgroups documentation
See also grpstats
  2 Kommentare
federico nutarelli
federico nutarelli am 6 Jul. 2022
@Walter Roberson Thanks for the comment. How can I the wrap all up in a 646x151 matrix in the places sspecified by all_indices_pesi(:,2)? Thank you
Walter Roberson
Walter Roberson am 6 Jul. 2022
If the 151 corresponds to the number of different values that can appear in column 1, then
[G2, value2] = findgroups(all_indices_pesi(:,2));
[G1, value1] = findgroups(all_indices_pesi(:,1));
count = accumarray([G2, G1], 1);
row #J corresponds to column 2 value value2(J)
column #K corresponds to column 1 value value1(K)
So count(J,K) is the count for column 2 value value2(J) in combination with column 1 value value1(K)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by