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

1 Ansicht (letzte 30 Tage)
Isti
Isti am 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 :)

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

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!

Translated by