Clear Filters
Clear Filters

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

50 views (last 30 days)
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?
  2 Comments
the cyclist
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
priyam kar on 27 May 2024 at 8:53
The table conatains only numeric values and your solution woked perfectly. Thank you very much.

Sign in to comment.

Accepted Answer

the cyclist
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

More Answers (1)

Matt J
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);

Categories

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

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!