Sorting rows by a specific value

9 views (last 30 days)
Richard Turner
Richard Turner on 3 Nov 2021
Commented: Richard Turner on 11 Nov 2021
Hi, I have a table of data organized by month. The first column in the table is month and sorted in ascending order from 1>12. I'd like to sort the table starting at the current month e.g. current month = 10, so rows are sorted 10, 11,12,1,2....
Is there an easy way to do this with sortrows or similar?

Answers (1)

Cris LaPierre
Cris LaPierre on 3 Nov 2021
Edited: Cris LaPierre on 3 Nov 2021
There are a couple ways to do this. What works best depends on your data. You can use sortrows to sort your table keeping rows together.
Option 1 - add a year column, Sort by year then month. Use sortrows,
Option 2 - turn your month variable into a categorical, and define a category order using either the 'Ordinal',true name value pair or reordercats function. You can then sort using sortrows,
  1 Comment
Richard Turner
Richard Turner on 11 Nov 2021
Thanks. I also managed to find a method by changing to an array and using circshift which worked well.

Sign in to comment.

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Tags

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!