Counting the number of appearance of a value in a loop

2 vues (au cours des 30 derniers jours)
federico nutarelli
federico nutarelli le 6 Juil 2022
Commenté : Walter Roberson le 6 Juil 2022
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

Réponse acceptée

Walter Roberson
Walter Roberson le 6 Juil 2022
Modifié(e) : Walter Roberson le 6 Juil 2022
[G, value] = findgroups(all_indices_pesi(:,2));
count = accumarray(G, 1);
num_instances = table(value, count);
See findgroups documentation
See also grpstats
  2 commentaires
federico nutarelli
federico nutarelli le 6 Juil 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 le 6 Juil 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)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by