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

1 vue (au cours des 30 derniers jours)
Isti
Isti le 24 Avr 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 :)

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 24 Avr 2012
[ii ii] = sort(sum(isnan(Data),2))
out = Data(ii,:)
  3 commentaires
Isti
Isti le 7 Mai 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 le 7 Mai 2012
[ii ii] = sort(sum(isnan(Data),2),'descend');
out = Data(ii,:)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by