Часто вам может понадобиться изменить порядок диаграмм в R.
В следующих примерах показано, как это сделать двумя разными способами:
- Метод 1: изменение порядка на основе определенного порядка
- Метод 2: изменение порядка на основе медианного значения ящичной диаграммы
В каждом примере будет использоваться встроенный в R набор данных о качестве воздуха:
#view first six lines of *airquality* data
head(airquality)
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
6 28 NA 14.9 66 5 6
Вот как будет выглядеть график из нескольких диаграмм для этого набора данных без указания порядка:
#create boxplot that shows distribution of temperature by month
boxplot(Temp~Month, data=airquality, col=" lightblue", border=" black ")

Пример 1: изменение порядка диаграмм на основе определенного порядка
В следующем коде показано, как упорядочить диаграммы на основе следующего порядка для переменной Month : 5, 8, 6, 9, 7.
#reorder Month values
airquality$Month <- factor(airquality$Month , levels =c(5, 8, 6, 9, 7))
#create boxplot of temperatures by month using the order we specified
boxplot(Temp~Month, data=airquality, col=" lightblue", border=" black ")

Обратите внимание, что диаграммы теперь отображаются в том порядке, который мы указали с помощью аргумента уровней .
Связанный: Как изменить порядок уровней факторов в R
Пример 2. Изменение порядка диаграмм на основе медианного значения
В следующем коде показано, как упорядочить диаграммы в порядке возрастания на основе среднего значения температуры для каждого месяца:
#reorder Month values in ascending order based on median value of Temp
airquality$Month <- with(airquality, reorder(Month , Temp, median , na. rm = T ))
#create boxplot of temperatures by month
boxplot(Temp~Month, data=airquality, col=" lightblue", border=" black ")

Ящики теперь отображаются в порядке возрастания на основе среднего значения для каждого месяца.
Примечание.Среднее значение для каждого квадратного графика — это горизонтальная черная линия, проходящая через середину каждого квадрата.
Мы также можем упорядочить диаграммы в порядке убывания , используя знак минус перед Temp в функции переупорядочивания :
#reorder Month values in descending order based on median value of Temp
airquality$Month <- with(airquality, reorder(Month , -Temp, median , na. rm = T ))
#create boxplot of temperatures by month
boxplot(Temp~Month, data=airquality, col=" lightblue", border=" black ")

Ящики теперь отображаются в порядке убывания на основе среднего значения для каждого месяца.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Как построить несколько коробчатых диаграмм в R
Как создать горизонтальные боксплоты в R
Как удалить выбросы в ящичных диаграммах в R