Select columns of a table using matching column names
274 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Voss
2022-6-14
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 个评论
Voss
2022-6-15
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}
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!