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

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?

 Respuesta aceptada

mask = startsWith( mytable.Properties.VariableNames, 'F');
Fcols = mytable(:,mask);

Más respuestas (1)

Arnaud Delorme
Arnaud Delorme el 27 de Mayo de 2022
Editada: Arnaud Delorme el 27 de Mayo de 2022
colNames = fieldnames(mytable);
[~,inds] = intersect(colNames, { 'A1' 'A2' } );
mytable = mytable(:,sort(inds));

1 comentario

This would not get you anything that mytable(:, { 'A1' 'A2' } ) would not give, other than preserving relative order of variables.

Iniciar sesión para comentar.

Categorías

Preguntada:

el 28 de Ag. de 2019

Comentada:

el 27 de Mayo de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by