MATLAB Answers

How do I remove NaN values from a cell array?

3 views (last 30 days)
Victoria Dutch
Victoria Dutch on 6 Nov 2019
Edited: Matt J on 6 Nov 2019
I'm editing some code I was given to read in spreadsheet data collected in the field into Matlab. Some of the cells in these spreadsheets are merged, and so when I read those in, I get cells that look like ['number' 'NaN' 'number' 'NaN' ...]. I want to convert the cells to matrices, but cell2mat doesn't work when the cells contain data other than numbers. I'm trying to use "rmmissing", but get the following error:
I suppose the obvious solution would be to unmerge the cells in the spreadsheets, but there's a lot of them, and I want to see if there's a quicker way I can do this in Matlab once that data is imported.

Accepted Answer

Matt J
Matt J on 6 Nov 2019
Edited: Matt J on 6 Nov 2019
The presence of NaNs isn't the problem. The problem is that the cell contents are character vectors of different lengths. You can convert them like so,
>> str2double({'1','2';'NaN','40'})
ans =
1 2
NaN 40

More Answers (0)




Community Treasure Hunt

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

Start Hunting!