Ranking values - sorting into descending order
    8 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    david crowley
 am 24 Jul. 2021
  
    
    
    
    
    Beantwortet: Max Heiken
      
 am 24 Jul. 2021
            I have a that for each row (i) ranks the column values. However, it ranks them in the ascending order. I require it to be ranked in descending order. Can anyone help with modifying the below code block to descending order?
for i = 1:height(d)
    [temp, ranked]  = ismember(X(i,:),unique(X(i,:)));
    rnkR1List(i,:) = ranked;
end
0 Kommentare
Akzeptierte Antwort
  Max Heiken
      
 am 24 Jul. 2021
        If you do not expect there to be duplicates, I too recommend to use sort instead.
[~, rnkR1List] = sort(X, 2, 'descend');
If you absolutely need identical values to have the same ranks, then you could extend your own code by just inverting the ranks:
for i = 1:height(d)
    [temp, ranked]  = ismember(X(i,:),unique(X(i,:)));
    rnkR1List(i,:) = ranked;
end
max(rnkR1List, [], 2) - rnkR1List + 1;
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
				Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!