Subset Table using an array of strings
12 次查看(过去 30 天)
显示 更早的评论
I am using the following code to select a subset of my table based on column names:
table_subset = table(:,ismember(table.Properties.VariableNames, {'col1' 'col2'}));
However, I would like to provide the cell input based on an existing array of column names, like so:
list_of_cols = ['col1' 'col2']
table_subset = table(:,ismember(table.Properties.VariableNames, list_of_cols));
But I am getting an empty table.
0 个评论
回答(1 个)
Dave B
2021-11-12
编辑:Dave B
2021-11-12
I think you want
list_of_cols = {'col1' 'col2'}
or
list_of_cols = ["col1" "col2"]
because list_of_cols as you wrote it evaluates to the wrong thing:
list_of_cols = ['col1' 'col2']
Here's a quick test:
t=table(1,2,3);
list_of_cols = {'Var1' 'Var3'};
t(:,ismember(t.Properties.VariableNames,list_of_cols))
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!