Как переименовать уровни факторов в 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: используйте функцию Levels().
Предположим, у нас есть следующий кадр данных в 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”
Следующий код показывает, как переименовать уровень фактора по имени с помощью функции Levels() :
#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