用于更改R中因子变量的级别的函数

时间:2015-07-09 18:19:43

标签: r categorical-data levels

我在数据框+------------------+ +------------------+ |+----------------+| |+----------------+| || front || || back || |+----------------+| |+----------------+| |+----------------+| |+----------------+| || front || || front || |+----------------+| |+----------------+| 中有一个因子变量Clic_1。我想写一个函数来改变因式变量的值。

oldata

我尝试了这个功能,但它给了NA

head(oldata$CliC_1)
[1] 4 1 5 3 5 5
Levels: 1 2 3 4 5

2 个答案:

答案 0 :(得分:2)

您不需要自定义功能或relevel。只需使用ifelse

factor(ifelse(oldata$CliC_1==1, 'Good', 'Bad'))
# Bad  Good Bad  Bad  Bad  Bad 

答案 1 :(得分:2)

另一种方式是

factor(oldata$CliC_1 != 1, labels = c('Good', 'Bad'))
# [1] Bad  Good Bad  Bad  Bad  Bad 
# Levels: Good Bad