Find column names with particular names in MATLAB table

22 ビュー (過去 30 日間)
Dhruv Ghulati
Dhruv Ghulati 2015 年 12 月 21 日
コメント済み: Peter Perkins 2019 年 2 月 17 日
Hi there,
I have a massive table with 408 columns in MATLAB. I want to get rid of columns that start with the word "connected". Instead of having to manually check the table and do something like
finalnbs(:,212:364) = [];
Where
finalnbs
is the table, how do I find all columns in finalnbs which start with connected e.g.
connected*
And then remove those?
  1 件のコメント
harjeet singh
harjeet singh 2015 年 12 月 21 日
please upload mat table, and let me know the datatype of finalnbs

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2015 年 12 月 21 日
finalnbs(:,strncmp(finalnbs.Properties.VariableNames, 'connected', length('connected')) ) = [];

その他の回答 (2 件)

Renato Agurto
Renato Agurto 2015 年 12 月 21 日
編集済み: Renato Agurto 2015 年 12 月 21 日
Hello
if "titles" is the first row of your table, then:
titles = finalnbs(1,:);
%Select the columns that should stay
idxs = cellfun(@(x) length(x) < 9 || ~strcmp(x(1:9),'connected'),titles);
finalnbs = finalnbs(:,idxs);

Joseba Moreno
Joseba Moreno 2019 年 2 月 14 日
Hello,
I have a similar problem but in my case I would like to remove the columns which contain the word "free".
How can I do that?
Thanks!
Joseba
  2 件のコメント
Walter Roberson
Walter Roberson 2019 年 2 月 14 日
With new enough matlab you can use contains() to test whether a substring occurs somewhere in a string .
Peter Perkins
Peter Perkins 2019 年 2 月 17 日
or strfind in older versions.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeEnvironment and Settings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by