Delete rows with NaN for a cell array

I want to remove the rows that have NaN and still keep the dimension of the array intact.
[ NaN] [ NaN] [ NaN] [ NaN]
[ NaN] [ NaN] [ NaN] [ NaN]
'Total RADIO Drops' 'Total Drops' 'CC DCR (%)' 'RADIO DCR (%)'
Above is just an example, I have over a thousand rows.
The only problem I have now is removing rows which have NaN and string together
Thank you

1 Commento

Is there a way to delete the rows which have strings and Nan mixed together ?
[ 'A'] [ NaN] [ NaN] [ NaN]
'Total RADIO Drops' 'Total Drops' 'CC DCR (%)' 'RADIO DCR (%)'

Accedi per commentare.

 Risposta accettata

Tom
Tom il 26 Giu 2013
A(any(cellfun(@(x) any(isnan(x)),A),2),:) = [];

Più risposte (1)

Andrei Bobrov
Andrei Bobrov il 26 Giu 2013
Modificato: Andrei Bobrov il 26 Giu 2013
A - your cell array
out = A(any(cellfun(@(x)any(~isnan(x)),A),2),:);
ADD
out = A(all(cellfun(@(x)any(~isnan(x)),A),2),:);

4 Commenti

Rooy
Rooy il 26 Giu 2013
That works thank you, is there a way to delete the rows which have strings and Nan mixed together ?
see ADD part in my answer
Rooy
Rooy il 26 Giu 2013
Thank you for your great help
hi Andrei,
how to specify the range in this fun:
out = A(any(cellfun(@(x)any(~isnan(x)),A),2),:);

Accedi per commentare.

Richiesto:

il 26 Giu 2013

Commentato:

il 21 Apr 2021

Community Treasure Hunt

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

Start Hunting!

Translated by