Sorting rows by a specific value

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

Thanks. I also managed to find a method by changing to an array and using circshift which worked well.

Sign in to comment.

Categories

Products

Release

R2015b

Tags

Asked:

on 3 Nov 2021

Commented:

on 11 Nov 2021

Community Treasure Hunt

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

Start Hunting!