如何在 r 中重命名因子水平(附示例)
您可以使用两种方法来重命名 R 中的因子水平:
方法1:使用Base Rlevels()
levels(df$col_name) <- c(' new_name1 ', ' new_name2 ', ' new_name3 ')
方法 2:使用 dplyr 包中的 recode()
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() 函数
以下代码展示了如何使用 dplyr 包的recode()函数重命名因子级别:
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() 函数的完整文档。