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

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,:)

 Accepted Answer

> 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 Comments

This worked great thanks!
One issue - this line works alone but when I place a variable name in front like;
Tmain = T(T{:,4}<0.1,:) = [];
I get this
Error: File: Untitled2.m Line: 3 Column: 25
Incorrect use of '=' operator. To assign a value to a variable, use '='. To compare values for equality, use '=='.
How do I give this a name like Tmain?
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

Sign in to comment.

More Answers (0)

Tags

Asked:

on 20 Jan 2021

Commented:

on 20 Jan 2021

Community Treasure Hunt

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

Start Hunting!