Select columns of a table using matching column names
271 views (last 30 days)
Show older comments
Hello everyone!
I'm facing the following problem: I have a cell array containing strings, let's call it "v"
On the other hand I have a huge table , let's call it "T", from which I want to select only the columns that have the column name that corresponds to the names contained in vector "v".
Any kind of help will be appreciated
Thank you
0 Comments
Accepted Answer
Voss
on 14 Jun 2022
v = {'Var1' 'Var3'}
T = table([1;2;3],[4;5;6],[7;8;9])
% a table of the selected columns of T:
new_T = T(:,v)
% or, the data from the selected columns of T:
new_T_data = T{:,v}
2 Comments
Voss
on 15 Jun 2022
If not all elements of v are column names of T, you can use ismember to get just the elements of v that do correspond to column names of T:
v = {'Var1' 'Var3' 'Var4'}
T = table([1;2;3],[4;5;6],[7;8;9])
v_to_use = v(ismember(v,T.Properties.VariableNames))
And use that the same as v was used before:
new_T = T(:,v_to_use)
new_T_data = T{:,v_to_use}
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!