Exclude rows from table if multiple conditions are met
Show older comments
Hi,
I have a table with many columns and rows (long list of patients that have had many questionnaires). I want to exclude patients that haven't filled in any of 5 questionnaires, but want to keep them if they have filled in all or for example only 1 of them. I tried it with an if loop, but I get the error 'Conversion to logical form from table is not possible.'
For example for the following table
A B C D E
1 NaN NaN NaN 4 NaN
2 NaN NaN NaN NaN NaN
3 8 6 9 3 5
4 4 8 NaN 5 4
5 NaN NaN NaN NaN NaN
6 NaN 3 2 NaN NaN
I want to exclude rows 2 and 5 since all questionnaires are not filled in but keep the rest, including the rows with only a few filled-in questionnaires.
I tried it with an if loop (if all 5 questionnaires are not NaN, then keep the rows, otherwise delete them), but then got the error as written above.
Anyone know how to do this? Thanks!
1 Comment
Matt J
on 21 Jul 2022
I have a table with many columns
Is it really a Matlab table data type, as in,
Accepted Answer
More Answers (1)
A=randi(5,5); A(A<=4)=nan
A(all(isnan(A),2),:)=[]
Categories
Find more on Logical 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!