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


Есть два метода, которые вы можете использовать для переименования уровней фактора в R:

Способ 1: используйте уровни() из Base R

levels(df$col_name) <- c('new_name1', 'new_name2', 'new_name3')

Способ 2: используйте recode() из пакета dplyr

library(dplyr)

data$col_name <- recode(data$col_name, name1 = 'new_name1', 
 name2 = 'new_name2',
 name3 = 'new_name3')

В следующих примерах показано, как использовать каждый из этих методов на практике.

Способ 1: Используйте функцию level()

Предположим, у нас есть следующий фрейм данных в R:

#create data frame
df <- data.frame(conf = factor(c('North', 'East', 'South', 'West')),
 points = c(34, 55, 41, 28))

#view data frame
df

 conf points
1 North 34
2 East 55
3 South 41
4 West 28

#view levels of 'conf' variable
levels(df$conf)

[1] "East" "North" "South" "West" 

В следующем коде показано, как переименовать один факторный уровень по имени с помощью функции level() :

#rename just 'North' factor level
levels(df$conf)[levels(df$conf)=='North'] <- ' N '

#view levels of 'conf' variable
levels(df$conf)

[1] "East" "N" "South" "West"

А следующий код показывает, как переименовать каждый факторный уровень:

#rename every factor level
levels(df$conf) <- c('N', 'E', 'S', 'W')

#view levels of 'conf' variable
levels(df$conf)

[1] "N" "E" "S" "W"

Пример 2: Использование функции recode()

В следующем коде показано, как использовать функцию recode() из пакета dplyr для переименования уровней фактора:

library(dplyr)

#create data frame
df <- data.frame(conf = factor(c('North', 'East', 'South', 'West')),
 points = c(34, 55, 41, 28))

#recode factor levels
df$conf <- recode(df$conf, North = 'N',
 East = 'E',
 South = 'S',
 West = 'W')

levels(df$conf)

[1] "E" "N" "S" "W"

Примечание.Полную документацию по функции recode() можно найти здесь .

Дополнительные ресурсы

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

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