Иногда вам может понадобиться изменить порядок уровней некоторой факторной переменной в R. К счастью, это легко сделать, используя следующий синтаксис:
factor_variable <- factor (factor_variable, levels =c('this', 'that', 'those', ...))
В следующем примере показано, как использовать эту функцию на практике.
Пример: переупорядочить уровни фактора в R
Во-первых, давайте создадим фрейм данных с одной факторной переменной и одной числовой переменной:
#create data frame
df <- data.frame(region= factor (c('A', 'B', 'C', 'D', 'E')),
sales=c(12, 18, 21, 14, 34))
#view data frame
df
region sales
1 A 12
2 B 18
3 C 21
4 D 14
5 E 34
Мы можем использовать аргумент level() для получения текущих уровней факторной переменной области :
#display factor levels for *region*
levels (df$region)
[1] "A" "B" "C" "D" "E"
И мы можем использовать следующий синтаксис для изменения порядка уровней факторов:
#re-order factor levels for *region*df$region <- factor (df$region, levels =c('A', 'E', 'D', 'C', 'B'))
#display factor levels for *region*
levels (df$region)
[1] "A" "E" "D" "C" "B"
Уровни факторов теперь расположены в том порядке, который мы указали с помощью аргумента уровней .
Если затем мы хотим создать гистограмму в R и упорядочить столбцы на основе уровней фактора региона , мы можем использовать следующий синтаксис:
#re-order data frame based on factor levels for *region*df <- df[ order ( levels (df$region)),]
#create barplot and place bars in order based on factor levels for *region*
barplot (df$sales, names =df$region)

Обратите внимание, как столбцы расположены в порядке уровней факторов, которые мы указали для региона .
Вы можете найти больше руководств по R на этой странице .