Filter löschen
Filter löschen

How to select a specific element in a table using variables corresponding to table headers

14 Ansichten (letzte 30 Tage)
Hello all,
Imagine I have the following table T:
I would like to programatically extract a specific Order corresponding to a specific Reference that is given in a separate variable.
Example, for:
var_name = 'Charlie'
What is the syntax to extract Charlie's Order (i.e. 15) using var_name?
Thank you

Akzeptierte Antwort

Stephen23
Stephen23 am 31 Mai 2021
Bearbeitet: Stephen23 am 31 Mai 2021
How to select data from a table is explained here:
Ref = {'Catherine';'Bob';'Fred';'Anna'};
Order = [15;13;13;4];
Lambda = [12;14;21;46];
% name you want to match:
name = 'Catherine';
By far the easiest way is to use row names:
T1 = table(Order,Lambda,'RowNames',Ref)
T1 = 4×2 table
Order Lambda _____ ______ Catherine 15 12 Bob 13 14 Fred 13 21 Anna 4 46
out = T1{name,'Order'}
out = 15
Without row names requires the use of indexing (e.g. via STRCMP or similar):
T2 = table(Ref,Order,Lambda)
T2 = 4×3 table
Ref Order Lambda _____________ _____ ______ {'Catherine'} 15 12 {'Bob' } 13 14 {'Fred' } 13 21 {'Anna' } 4 46
idx = strcmpi(T2.Ref,name);
out = T2{idx,'Order'}
out = 15

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by