how to find the second most repeated value in vector
43 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
その他の回答 (4 件)
Walter Roberson
2017 年 8 月 25 日
Delete all the copies of m out of x and take the mode again.
1 件のコメント
Apoorva Srivastava
2019 年 6 月 16 日
編集済み: Apoorva Srivastava
2019 年 6 月 16 日
% 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
2017 年 8 月 25 日
[g,v] = findgroups(x);
ii = accumarray(g(:),1);
jj = find(ii > 1);
out = [v(jj(2)), ii(jj(2))]
0 件のコメント
alexander Mcghee
2019 年 9 月 17 日
X = [1 1 1 1 1 5 5 5] ;
m = mode(X) % -> m=1
X(X==m) = NaN ;
m = mode(X) % -> m=5
参考
カテゴリ
Help Center および File Exchange で Financial Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!