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

2 visualizaciones (últimos 30 días)
priyam kar
priyam kar el 26 de Mayo de 2024
Comentada: priyam kar el 27 de Mayo de 2024
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 comentarios
the cyclist
the cyclist el 26 de Mayo de 2024
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 el 27 de Mayo de 2024
The table conatains only numeric values and your solution woked perfectly. Thank you very much.

Iniciar sesión para comentar.

Respuesta aceptada

the cyclist
the cyclist el 26 de Mayo de 2024
% 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

Más respuestas (1)

Matt J
Matt J el 26 de Mayo de 2024
Editada: Matt J el 26 de Mayo de 2024
keep=all(yourTable{:,:},1);
yourTable=yourTable(:,keep);

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by