# how to remove variables of a table with a zeros in it

50 views (last 30 days)
priyam kar on 26 May 2024 at 16:12
Commented: priyam kar on 27 May 2024 at 8:54
I have a table where few variables contain zeros as well as non zero values in it. I want to remove the variables with even a single zero in it. can anyone help me with that?
the cyclist on 26 May 2024 at 17:37
I realized that there is a nuance here, that I did not consider in my solution.
Is there any chance that any of your variables are logical (i.e. true/false)? If so, do you want to remove that variable if "false" appears? (Both my and @Matt J's solutions will remove a column with "false" in it.)
priyam kar on 27 May 2024 at 8:53
The table conatains only numeric values and your solution woked perfectly. Thank you very much.

the cyclist on 26 May 2024 at 17:32
% Example data
x = ["a";"b";"c"];
y = [4;5;6];
z = [0;7;8];
tbl = table(x,y,z);
% Find variables with a zero
hasZero = any(ismissing(tbl,0));
% Make a new table without those variables
tbl2 = tbl(:,not(hasZero))
tbl2 = 3x2 table
x y ___ _ "a" 4 "b" 5 "c" 6

Matt J on 26 May 2024 at 17:24
Edited: Matt J on 26 May 2024 at 17:25
keep=all(yourTable{:,:},1);
yourTable=yourTable(:,keep);
priyam kar on 27 May 2024 at 8:54
Thank you so much, it works fine

### Categories

Find more on Matrices and Arrays in Help Center and File Exchange

R2023a

### Community Treasure Hunt

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

Start Hunting!