Index table with cell array

17 views (last 30 days)
Kim Maria Damiani
Kim Maria Damiani on 19 Nov 2021
Answered: Stephen23 on 19 Nov 2021
I have a table in which one of the columns is a cell array of text data, and a cell array C that contains a subset of this text. Is there a way to extract from the table only the rows with the text in C?

Accepted Answer

Stephen23
Stephen23 on 19 Nov 2021
Where T is your table and C is your cell array:
idx = ismember(T.NameOfVariable, C)
out = T(idx,:)

More Answers (1)

Matt J
Matt J on 19 Nov 2021
Yes, you can use ismember(...,'rows') to find the indices of the rows.
  3 Comments
Stephen23
Stephen23 on 19 Nov 2021
Edited: Stephen23 on 19 Nov 2021
@Kim Maria Damiani: do not use the whole table, just the variable that you want to compare. Also the order needs to be swapped around in order for it to work correctly:
idx = ismember(T.NameOfVariable, C)
out = T(idx,:)
Kim Maria Damiani
Kim Maria Damiani on 19 Nov 2021
Thank you @Stephen. If you want to move your comment to an answer I can accept.

Sign in to comment.

Categories

Find more on Tables in Help Center and File Exchange

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!