- creates a cell array of tables and empty cells
- determines which cells contain a table
- counts the number of tables per row
Find the number of non-empty cells in each row of a cell array
26 views (last 30 days)
Show older comments
I have a cell array of tables where each row contains data for one specimen and each column of that row contains results of repeated tests for that specimen. There are different numbers of tests in each row.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1196673/image.png)
I would like to process each row based on the number of tests. How can I determine the number of cells in each row that contain tables? For example, the first row contains 12 cells, the second contains 14, etc.
0 Comments
Accepted Answer
Adam Danz
on 17 Nov 2022
Edited: Adam Danz
on 17 Nov 2022
Here's a demo that
c = cell(3,4);
c([1,2,3,4,6,10,12]) = {array2table(rand(5))}
y = cellfun(@istable, c)
nTablesPerRow = sum(y,2)
If you'd rather count any cell that is not empty,
y2 = ~cellfun(@isempty, c)
nNonEmptiesPerRow = sum(y2,2)
12 Comments
Adam Danz
on 30 Nov 2022
Ah, of course. Thanks @Jim McIntyre. That's what I get for running code in my head rather than actually testing it 😊
I'll update my previous comment to avoid confusions for any future visitors.
More Answers (0)
See Also
Categories
Find more on Resizing and Reshaping Matrices 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!