Extract all columns from a table where the column names "start with" a string

261 visualizzazioni (ultimi 30 giorni)
How can I extract all columns from a table where the column names "start with" a string?
For example, in
mytable = array2table(NaN(4,5));
mytable.Properties.VariableNames = {'A1', 'A2', 'B1', 'F2', 'F4'};
How would I extract all the "F*" columns in to a new table?

Risposta accettata

Walter Roberson
Walter Roberson il 28 Ago 2019
mask = startsWith( mytable.Properties.VariableNames, 'F');
Fcols = mytable(:,mask);

Più risposte (1)

Arnaud Delorme
Arnaud Delorme il 27 Mag 2022
Modificato: Arnaud Delorme il 27 Mag 2022
colNames = fieldnames(mytable);
[~,inds] = intersect(colNames, { 'A1' 'A2' } );
mytable = mytable(:,sort(inds));
  1 Commento
Walter Roberson
Walter Roberson il 27 Mag 2022
This would not get you anything that mytable(:, { 'A1' 'A2' } ) would not give, other than preserving relative order of variables.

Accedi per commentare.

Categorie

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

Community Treasure Hunt

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

Start Hunting!

Translated by