I have a character factor-leveled vector.
cat <- as.factor(c("AS-GEN-SUM-10-Fall", "AS-GEN-SUM-3-Fall","AS-GEN-SUM-4-Fall","AS-GEN-SUM-5-Fall"))
cat
[1] AS-GEN-SUM-10-Fall AS-GEN-SUM-3-Fall AS-GEN-SUM-4-Fall AS-GEN-SUM-5-Fall
Levels: AS-GEN-SUM-10-Fall AS-GEN-SUM-3-Fall AS-GEN-SUM-4-Fall AS-GEN-SUM-5-Fall
As seen, the order starts with the number -10- instead of -3-. R naturally order them by the first number even though 10 is larger than 3.
Is there a way to change the order without specifying each name? Any ideas?
Thanks!
Please, find below one possible solution using the
mixedsort()function from thegtoolslibrary.Reprex
Created on 2022-02-11 by the reprex package (v2.0.1)