在R函数中重新映射因子级别,甚至更容易

在R函数中重新映射因子级别,甚至更容易,r,R,我正在编写大量类似这样的乏味的重新映射代码来调整因子级别: 在函数中重新映射,甚至更容易 levels(temp$sex)[levels(temp$sex)=="1"] <- "male" 函数是什么,它使col_名称变得动态?或者有更好的方法重新映射因子的级别吗 谢谢 它与fct\u recode library(forcats) fct_recode(temp$sex, male = "1", female = "

我正在编写大量类似这样的乏味的重新映射代码来调整因子级别:

在函数中重新映射,甚至更容易

levels(temp$sex)[levels(temp$sex)=="1"] <- "male"
函数是什么,它使col_名称变得动态?或者有更好的方法重新映射因子的级别吗


谢谢

它与
fct\u recode

library(forcats)
fct_recode(temp$sex, male = "1", female = "2")

或者也可以传递一个命名向量

levels <- c(male = "1", female = "2")
fct_recode(temp$sex, !!!levels)
级别可能是这样的

# set.seed(1)
sex <- factor(sample(1:2,10,T))
sex
# [1] 1 2 1 1 2 1 1 1 2 2
# Levels: 1 2

old_values <- levels(sex)
new_values <- c('M', 'F')
sex <- factor(sex, levels=old_values , labels=new_values)
sex
# [1] M F M M F M M M F F
# Levels: M F
#设置种子(1)

性谢谢。以前用于猫。通常在sql中进行映射。。。
# set.seed(1)
sex <- factor(sample(1:2,10,T))
sex
# [1] 1 2 1 1 2 1 1 1 2 2
# Levels: 1 2

old_values <- levels(sex)
new_values <- c('M', 'F')
sex <- factor(sex, levels=old_values , labels=new_values)
sex
# [1] M F M M F M M M F F
# Levels: M F