フィルターのクリア

Find Column Number in Table

77 ビュー (過去 30 日間)
Robot
Robot 2014 年 10 月 7 日
コメント済み: Robot 2014 年 10 月 9 日
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!

採用された回答

Mohammad Abouali
Mohammad Abouali 2014 年 10 月 8 日
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 件のコメント
Image Analyst
Image Analyst 2014 年 10 月 8 日
編集済み: Image Analyst 2014 年 10 月 8 日
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.
Robot
Robot 2014 年 10 月 9 日
Thanks for the help!

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2014 年 10 月 7 日
You don't need the column number. Just do
ages = T.Age;
  3 件のコメント
Image Analyst
Image Analyst 2014 年 10 月 8 日
編集済み: Image Analyst 2014 年 10 月 8 日
You can get the age column like this:
T = load('patients')
ageColumn = find(ismember(fieldnames(T), 'Age'))
Image Analyst
Image Analyst 2014 年 10 月 8 日
Actually T is a structure, so I recommend Mohammad's way.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeTables についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by