Find Column Number in Table
77 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Robot
am 7 Okt. 2014
Kommentiert: Robot
am 9 Okt. 2014
I would like to subset a table into columns before a certain variable and columns after that variable. Is there a way to locate a column number within a table? Is there a more clever way to do this?
load patients
BloodPressure = [Systolic Diastolic];
T = table(Gender,Age,Smoker,BloodPressure,'RowNames',LastName);
A = *findColNumber*(T, 'Age'); % Some function that will locate the column number of 'Age'.
T1 = T(:, 1:A);
T2 = T(:, A+1:end);
'patients' is a standard example data set included in R2014a. Entering the command 'load patients' should load the relevant data.
Thanks!
0 Kommentare
Akzeptierte Antwort
Mohammad Abouali
am 8 Okt. 2014
Table variable have property fields
you can use that to find the column number like this
find(strcmpi(T.Properties.VariableNames,'Age'))
ans =
2
4 Kommentare
Image Analyst
am 8 Okt. 2014
Bearbeitet: Image Analyst
am 8 Okt. 2014
Yeah, your T is slightly different than mine. No time now, but tomorrow I'll have to investigate why your code and mine behave differently and have slightly different T's. You'd think they should be the same even though they were gotten in different ways.
Actually I just figured it out. With my code, load() returns T as a structure not a table. So that makes sense.
Weitere Antworten (1)
Image Analyst
am 7 Okt. 2014
You don't need the column number. Just do
ages = T.Age;
3 Kommentare
Image Analyst
am 8 Okt. 2014
Bearbeitet: Image Analyst
am 8 Okt. 2014
You can get the age column like this:
T = load('patients')
ageColumn = find(ismember(fieldnames(T), 'Age'))
Siehe auch
Kategorien
Mehr zu Tables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!