How to sort or rearrange a column with respect to the other column?!
    8 views (last 30 days)
  
       Show older comments
    
    Mariam Sheha
 on 17 Jun 2016
  
    
    
    
    
    Commented: Mariam Sheha
 on 17 Jun 2016
            Hello Everybody;
wish you are all doing well;
if i have a data of two columns and i want to sort one of the columns in a descending order and also keep the other column fixed and likened with the changed one, how can i do that?! assuming that column 1 is the ID of column two
sample data:
241 5
1245 4
684 4
806 4
674 3
Appreciating your help ;
0 Comments
Accepted Answer
  Azzi Abdelmalek
      
      
 on 17 Jun 2016
        
      Edited: Azzi Abdelmalek
      
      
 on 17 Jun 2016
  
      Use sortrows function. For example
A=[241 5;1245  4;684 4;806 4;674 3]
B=sortrows(A,2)
% Or by descending order
B=sortrows(A,-2)
5 Comments
More Answers (1)
  Shameer Parmar
      
 on 17 Jun 2016
        
      Edited: Shameer Parmar
      
 on 17 Jun 2016
  
      Hello Mariam,
For your given sample data:
 A =
         241           5
        1245           4
         684           4
         806           4
         674           3
use following code:
 A = [241, 5; 1245, 4; 684, 4; 806, 4; 674, 3];
 B(:,1) = sort(A(:,1),'descend');
 for i=1:length(A)
      B(i,2)=A(find(ismember(A(:,1),B(i))),2);
 end
 B
OutPut will be like in '*descending*' order
B =
        1245           4
         806           4
         684           4
         674           3
         241           5
3 Comments
  Guillaume
      
      
 on 17 Jun 2016
				Both sortrows and sort allows you to specify the direction. I recommend using sortrows as it's more suited to what you want.
If you were to use sort, I would use the 2nd return value to reorder the other columns rather than a loop and ismember:
[B(:, 1), order] = sort(A(:, 1), 'descend');
B(:, 2) = A(order, 2);
As said, sortrows as per Azzi's answer is better.
See Also
Categories
				Find more on Shifting and Sorting Matrices in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!