How do you order table columns based on a vector with their names?

I have a table, "patients", with 5 columns. I would like these columns to follow the pattern determined by the cell, "order".
How could I do this?
Reproduction steps:
>> load patients
>> patients = table(Age,Gender,Height,Weight,Smoker,...
'RowNames',LastName);
>> order = {'Gender', 'Gender', 'Age', 'Gender', 'Smoker',...
'Smoker', 'Weight', 'Height', 'Weight'};

 Accepted Answer

This can be done by indexing into the table with the "order" cell.
Note: Table columns cannot repeat names so "Age" will only appear once, and all subsequent ones will have the value "Age_1", "Age_2"...
 
>> patients2 = patients(:,order)

More Answers (0)

Categories

Products

Release

R2018a

Community Treasure Hunt

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

Start Hunting!