how to find the second most repeated value in vector
60 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
how to find the second most repeated value in vector x=[1 2 2 3 5 5 5] i use (mode ) to find the most repeated and frequency [m,f]=mode(x) m=5 the number repeated f=3 the freq.
now,i want to find the second repeated, can help me please
0 commentaires
Réponse acceptée
Plus de réponses (4)
Walter Roberson
le 25 Août 2017
Delete all the copies of m out of x and take the mode again.
1 commentaire
Apoorva Srivastava
le 16 Juin 2019
Modifié(e) : Apoorva Srivastava
le 16 Juin 2019
% For a vector x:
mode(x(find(x ~= mode(x))))
% In general, if x is a matrix (valid from R2018b onwards)
mode(x(find(x ~= mode(x, 'all'))), 'all')
Andrei Bobrov
le 25 Août 2017
[g,v] = findgroups(x);
ii = accumarray(g(:),1);
jj = find(ii > 1);
out = [v(jj(2)), ii(jj(2))]
0 commentaires
alexander Mcghee
le 17 Sep 2019
X = [1 1 1 1 1 5 5 5] ;
m = mode(X) % -> m=1
X(X==m) = NaN ;
m = mode(X) % -> m=5
Voir également
Catégories
En savoir plus sur Financial Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!