Как изменить порядок уровней факторов в R (с примерами)

Как изменить порядок уровней факторов в R (с примерами)

Иногда вам может понадобиться изменить порядок уровней некоторой факторной переменной в 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

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


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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.