table内の文字列の有無の存在を確認する方法

29 visualizzazioni (ultimi 30 giorni)
和也
和也 il 9 Ago 2022
Commentato: Atsushi Ueno il 9 Ago 2022
テーブル内の任意の文字列の有無を確認する方法があれば教えて下さい。

Risposte (1)

Hernia Baby
Hernia Baby il 9 Ago 2022
任意の文字列がテーブルのどのコラムにあるのかもわからないという想定で書いています。
------------------------------
データを準備します
T = table(categorical({'M';'F';'M';'M'}),[45;32;34;54],...
{'NY';'CA';'MA';'CA'},logical([1;0;0;1]),...
'VariableNames',{'Gender','Age','State','Vote'})
T = 4×4 table
Gender Age State Vote ______ ___ ______ _____ M 45 {'NY'} true F 32 {'CA'} false M 34 {'MA'} false M 54 {'CA'} true
ここでCAという文字が何処かにないか探します
word = 'CA';
idx = table2array(varfun(@(x) strcmp(string(x),word),T))
idx = 4×4 logical array
0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0
find関数で何行目にあるのか探し、該当する部分を表示させます。
[x,~] = find(idx);
T(x,:)
ans = 2×4 table
Gender Age State Vote ______ ___ ______ _____ F 32 {'CA'} false M 54 {'CA'} true
  1 Commento
Atsushi Ueno
Atsushi Ueno il 9 Ago 2022
任意の文字列がテーブルのどのコラムにあるわかる場合はこうですね。
T = table(categorical({'M';'F';'M';'M'}),[45;32;34;54],...
{'NY';'CA';'MA';'CA'},logical([1;0;0;1]),...
'VariableNames',{'Gender','Age','State','Vote'})
T = 4×4 table
Gender Age State Vote ______ ___ ______ _____ M 45 {'NY'} true F 32 {'CA'} false M 34 {'MA'} false M 54 {'CA'} true
idx = find(strcmp(T.State,'CA')); % table の'State'列に'CA'がある行を検索
T(idx, :)
ans = 2×4 table
Gender Age State Vote ______ ___ ______ _____ F 32 {'CA'} false M 54 {'CA'} true

Accedi per commentare.

Categorie

Scopri di più su table in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!