MATLAB Answers

How to sort rows of matrix according ot its amount of Nan?

4 views (last 30 days)
Isti
Isti on 24 Apr 2012
The matrix is like this: Data =
1 2 NaN 4 NaN
4 NaN 2 NaN 2
7 1 5 NaN 4
9 4 3 7 NaN
row 1 = 2 NaNs, row 2 = 2 NaNs, row 3 = 1 NaN, row 4 = 1 NaN.
and it can be described like this: [2 2 1 1] what can i do if i want to make it like this:
Data =
7 1 5 NaN 4
9 4 3 7 NaN
1 2 NaN 4 NaN
4 NaN 2 NaN 2
row 1 = 1 NaN, row 2 = 1 NaN, row 3 = 2 NaNs, row 4 = 2 NaNs. and it can be described like this: [1 1 2 2]
what to do? thanks before :)

  0 Comments

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 24 Apr 2012
[ii ii] = sort(sum(isnan(Data),2))
out = Data(ii,:)

  3 Comments

Isti
Isti on 7 May 2012
what can i do if i want to make a sort in descending way (actually the opponent sort of above)?
thanks before :)
Andrei Bobrov
Andrei Bobrov on 7 May 2012
[ii ii] = sort(sum(isnan(Data),2),'descend');
out = Data(ii,:)

Sign in to comment.

More Answers (0)

Sign in to answer this question.