In a baseball league, like a minor league pros, it seems there is a "homestand" where the team plays two series against visiting teams, then they are on the road to play two other teams. This
demo shows how this works. Outside of the first and last series or when they play the ghost team, each team will have two home and two away series.
The ideal size for such a league is when the
number of teams % 4 = 2. I tried to visualize a league where nine teams are located (in order) around the points of a novemagon while the ghost (10) was in the middle. After a team finished an away series, the next away series was right next door. The problem was the ghost team since its next opponent would always be on the other side. Perhaps the ghost should not have double home and away series--in that case substitute for
(Math.floor((n+1)/2) % 2)
simply
(n % 2)
like in the
Alternate Every Round code just above it. Of course in the real world a map of where the teams are would never look like this.
Just noted there is a discussion of round robin pairings in a forum of
UEFA European Football recently.