filter table by character string entry

93 views (last 30 days)
Hello,
I have table T which contains string entries in the second column (named 'column_name').
Two questions:
  1. How can I filter the table (or create a new table), so that only those rows are included whose 2nd column entry equals the filter parameter (e.g. 'FieldSlew1')?
  2. How can I filter the table (or create a new table), so that only those rows are included whose 2nd column entry contain the filter parameter (e.g. 'FieldSlew')?
For information regarding formats:
When querying, I get the following results
>> T(1, 2)
ans =
table
column_name
____________
'FieldSlew1'
I have tried using "for" loops, but this takes forever.
Thank you for advice,
Dan

Accepted Answer

Andreas Kvalbein Fjetland
Andreas Kvalbein Fjetland on 30 Jan 2019
Edited: Andreas Kvalbein Fjetland on 30 Jan 2019
Hi Dan,
try this method out.
%create random table
t1 = [1,2,3,4]';
t2 = {'Hei','boo','Hei','boo'}';
tbl = table();
tbl.t1 = t1;
tbl.t2 = t2;
% Convert to categorical, as i presume this is reoccuring values
tbl.t2 = categorical(tbl.t2)
% index rows with the correct variables in column
idx = tbl.t2 == 'boo';
% create table based on index
newtbl = tbl(idx,:);

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!