How to extract all the rows which match an specific string column
88 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
The data is organized on this way: 4 numeric columns and 3 string columns all of same dimentions. I need to build a matrix which contains all the columns in order to extract the rows who match with and specific geol_unit string.
%this is how i read the data:
[x,y,strike_dir,dip,town,geol_unit,source] = textread('DatosEstructurales_C&S.txt','%f %f %f %f %s %s %s','delimiter',';');
%next step would be to build a matrix to obtain something like:
x y strike_dir dip 'town' 'geol_unit' 'source'
1191292.27 824768.3 65 60 Medellin StockAltavista Microzonificacion_2007
1191237.46 825146.46 200 25 Medellin StockAltavista Microzonificacion_2007
1188070.99 825708.745 46 55 Medellin Dunita RecargaCyS_2013
1188070.99 825708.745 156 60 Medellin Dunita RecargaCyS_2013
The final idea is to find an specific geol unit match and extact all the values.. for example all Dunita values, and get a matrix like:
x y strike_dir dip 'town' 'geol_unit' 'source'
1188070.99 825708.745 46 55 Medellin Dunita RecargaCyS_2013
1188070.99 825708.745 156 60 Medellin Dunita RecargaCyS_2013
0 Commenti
Risposte (2)
KL
il 6 Nov 2017
Modificato: KL
il 6 Nov 2017
Use readtable to import your data,
T = readtable('DatosEstructurales_C&S.txt');
if you don't have column names included in your text file, then
T.Properties.VariableNames = {'x','y','strike_dir','dip','town','geol_unit','source'};
and now to get what you want,
T_dunita = T(T.geol_unit == 'Dunita',:)
read more about readtable and tables on the below links:
2 Commenti
KAE
il 5 Mag 2020
When trying to match a string in a table column,
T.geol_unit == 'Dunita'
I get the error
Undefined operator '==' for input arguments of type 'cell'.
Vedere anche
Categorie
Scopri di più su String 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!