Clear Filters
Clear Filters

Comparing rows of a table

15 views (last 30 days)
BN
BN on 10 Apr 2020
Commented: Tommy on 11 Apr 2020
Hey all,
I have a table, this table represents the value of creation coefficient (CC) and RMSE for 3 of my models. Now in each row, I want to compare CC and RMSE rows by rows. I would like to print the name of each model that has the nearest value to one (in comparison with each model) for CC after existing rows, and similarly, type then name of that model which has a lower value of RMSE.
So the output is a table just like that I attached but with 2 extra columns after existing columns now, one for CC and one for RMSE.
Here is a simple example:
Before:
After:
Please tell me how I can do this,
Thank you so much

Accepted Answer

Tommy
Tommy on 10 Apr 2020
Let me know if this works:
[~,i] = min(1-[TEST.model1_CC, TEST.model2_CC, TEST.model3_CC],[],2);
[~,i2] = min([TEST.model1_RMSE, TEST.model2_RMSE, TEST.model3_RMSE],[],2);
names = TEST{1,{'model1','model2','model3'}}';
TEST.CC_CHECK = names(i);
TEST.RMSE_CHECK = names(i2);
  3 Comments
BN
BN on 11 Apr 2020
Edited: BN on 11 Apr 2020
An Error Occurred when I clicked on Accept answer, I saw this problem earlier a few times, It will be fixed in a few hours, automatically. I click on accept answer a few hours later again.
Tommy
Tommy on 11 Apr 2020
Happy to help! No worries

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!