## How to sort the column of matrix according to amount of NaN for each column?

on 21 Apr 2012

### Rick Rosson (view profile)

In simple case, I have the matrix like this:
NaN 1 4 6 NaN
9 NaN 6 1 2
NaN 3 2 8 3
7 NaN 1 9 3
7 1 8 2 4
and from the matrix we can see the amount of the NaNs: column 1= 2, column 2= 2, column 3= 0, column 4= 0, column 5= 1,
so i want to sort the columns in the matrix according to their NaNs and become like this:
4 6 NaN NaN 1
6 1 2 9 NaN
2 8 3 NaN 3
1 9 3 7 NaN
8 2 4 7 1
May somebody help me with the code? Thanks before :')

### Rick Rosson (view profile)

on 21 Apr 2012

n = sum(isnan(A));

Isti

### Isti (view profile)

on 21 Apr 2012
Thanks for this helping answer. it's produce the amount of the NaN from each column.
And i still have the problem with exchange the column according to that amount.
Is there any code to sort the columns?

### Rick Rosson (view profile)

on 21 Apr 2012

n = sum(isnan(A));
B = transpose([ n ; A ]);
C = sortrows(B);
R = transpose(C(:,2:end));

Isti

### Isti (view profile)

on 21 Apr 2012
it works. thank you very much for your help :)