Handling Missing values in cell array from Excel cell extraction
1 view (last 30 days)
Show older comments
I am directly referencing this previous question. I believe it is a good response. However, the issue for me is that the cell array I have in matlab is a character array and cellfun is returning a cell array of vectors for each character. MATLAB was throwing an error about setting 'UniformOutput' to false, which I did, and is when I realized this code runs but is not what I need. I should keep it to true so as to properly index which cells to remove.
example cell character array
extractedData.partCategories = {'xyz'} {'xyz'} {'xyz'} {1x1 <missing>} {1x1 <missing>}
Code
% Extract data with type conversion and error handling
% % <custom code to extract from Excel % %
% Clean up missing values in string cell arrays
mask = cellfun(@ismissing, extractedData.partCategories, 'UniformOutput', false);
extractedData.partCategories(mask) = {[]};
Then mask variable outputs:
[false, false, false]
[false, false, false]
[false, false, false]
true
true
Which I need it to output:
false
false
false
true
true
0 Comments
Accepted Answer
Walter Roberson
on 5 Dec 2024
mask = cellfun(@(C)any(ismissing(C(:))), extractedData.partCategories, 'UniformOutput', false);
2 Comments
Walter Roberson
on 6 Dec 2024
mask = cellfun(@(C)any(ismissing(C(:))), extractedData.partCategories);
without the cell2mat should work
More Answers (0)
See Also
Categories
Find more on Data Type Conversion 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!