Как заставить ggplot правильно упорядочивать фасеты?

Я пытаюсь выделить около 14 графиков на основе переменной, которая работает от 2 до 14. Графики отображаются в следующем порядке: 10,11,12,13,14,15,2,3,4,5,6,7,8,9.

Как мне заставить их заказать от 2 до 15?

обновление: хорошо, поэтому я сделал это фактором, используя data$var=as.factor(data$var). Уровни Levels: 10 11 12 13 14 15 2 3 4 5 6 7 8 9

Как мне изменить их порядок?


person Maiasaura    schedule 22.07.2010    source источник


Ответы (2)


Без ваших данных лучше всего было бы превратить вашу переменную огранки в фактор с уровнями в том порядке, в котором вы хотите.

person Greg    schedule 22.07.2010
comment
Хорошо, я понял, как изменить порядок уровней. Спасибо, что подтолкнули меня в правильном направлении. - person Maiasaura; 22.07.2010
comment
Код, если кому интересно: data$var=factor(data$var, level(data$var)[c(7:14,1:5)]) - person Maiasaura; 22.07.2010

person    schedule
comment
и что здорово, так это то, что вы также можете упорядочивать грани в каком-то заранее определенном порядке. Например. f=c('Paul','Audrey','Marlene'). Затем просто скажите d <- within(d, var <- factor(var, levels=f)). - person Pierre D; 21.07.2012
comment
можете привести пример, пожалуйста? я не понимаю, что d выше... я пытаюсь разграничить дни недели, но упорядочены по целому дню недели (например, 1, 2, 3, 4, 5, 6, 7) - person calycolor; 15.07.2017
comment
для calycolor: d выше — это имя фрейма данных, называемого данными в этом примере, поэтому оно будет таким, как данные ‹- внутри (данные, переменная ‹- фактор (вар, уровни = f)). (Если вы упорядочиваете сгруппированную переменную, вы должны применить новые уровни, прежде чем выполнять группировку.) Мне было трудно получить этот порядок фасетов, но этот ответ выше помог. - person George D Girton; 24.07.2018