Delete rows with NaN for a cell array

16 views (last 30 days)
Rooy
Rooy on 26 Jun 2013
Commented: YING CONG XIAO on 21 Apr 2021
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 Comment
Rooy
Rooy on 26 Jun 2013
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 (%)'

Sign in to comment.

Accepted Answer

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

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 26 Jun 2013
Edited: Andrei Bobrov on 26 Jun 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 Comments
Rooy
Rooy on 26 Jun 2013
Thank you for your great help
YING CONG XIAO
YING CONG XIAO on 21 Apr 2021
hi Andrei,
how to specify the range in this fun:
out = A(any(cellfun(@(x)any(~isnan(x)),A),2),:);

Sign in to comment.

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!