How do i Filter out table columns headers based on given query words?

5 views (last 30 days)
Dear Experiences
i have a table that look like the following:
Table:
Name RC BV CC RQ CY ..... TY
A1 1 0 1 0 1 0
A2 1 0 0 0 0 0
A3 0 1 1 0 1 0
A4 0 0 0 0 0 1
then for the given query word such as ( A1 ) then the result perhaps store in cell array like:
Result ={ RC , CC , CY ,...} where the values of A1 in the corresponding columns header are 1.
i would thanks any one can give me help.

Accepted Answer

Walter Roberson
Walter Roberson on 19 Aug 2017
YourTable.Properties.VariableNames( logical(YourTable{1,:}) )
  1 Comment
Peter Perkins
Peter Perkins on 23 Aug 2017
You could also make Name the row names, i which case Walter's answer looks like
YourTable.Properties.VariableNames( logical(YourTable{'A1',:}) )

Sign in to comment.

More Answers (1)

KL
KL on 19 Aug 2017
x = rand(3,3);
rowX = {'A1','A2','A3'};
xT = array2table(x,'RowNames',rowX)
xA1 = table2cell(xT({'A1'},:))
  2 Comments
ahmed obaid
ahmed obaid on 19 Aug 2017
thanks, your code its retrieve the values of first row A1, while my request perhaps retrieve the columns headers, so according to my example in the above table the result of A1 ={RC, CC, CY} because the values of A1 row are 1 in these columns headers.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!