Delete rows in a table where data in one column is below a value

2 vues (au cours des 30 derniers jours)
DavidL88
DavidL88 le 20 Jan 2021
Commenté : DavidL88 le 20 Jan 2021
Hi
I have a table with four columns and multiple rows of data. I want to delet all rows where the value of teh data in the 4th columns is less than 0.1. Can anyone advise how to do this?
I tried this code to keep those rows where the data was >=0.1 but got the below message. Tis the table with all the data and Tmain is the new inteneded table without the those rows where data is <0.1 in 4th column.
T = table(T4, T1, T2, T3)
Tmain = T(T(:,4)>=0.1,:)
Operator '>=' is not supported for operands of type 'table'.
Error in working_file_2 (line 31)
Tmain = T(T(:,4)>=0.1,:)

Réponse acceptée

Adam Danz
Adam Danz le 20 Jan 2021
> I want to delet all rows where the value of the data in the 4th columns is less than 0.1.
T(T{:,4}<0.1,:) = [];
  3 commentaires
Adam Danz
Adam Danz le 20 Jan 2021
Modifié(e) : Adam Danz le 20 Jan 2021
You can't use the equal sign twice as in A=B=C.
Instead you've got two options. The second is more efficient.
1
Tmain = T;
Tmain(Tmain{:,4}<0.1,:) = [];
2
Tmain = T(T{:,4}>=0.1,:)
% ^^ Note difference
DavidL88
DavidL88 le 20 Jan 2021
Worked a charm thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by