设置级别会更改数据内容

时间:2016-03-20 05:02:33

标签: r

我注意到在R中,如果使用级别来更改因子列中级别的顺序,则实际上会更改数据的内容。例如:

test <- data.frame(name=c("A","B","C"), age=c(20,21,22))
test$name <- as.factor(test$name)
levels(test$name) <- c("C","B","A")

然后在测试中,C变为20岁,A年龄为22岁,而不是A年龄为20岁且C年龄为22岁的原始内容。

如何在不改变实际内容的情况下更改因子的级别?

1 个答案:

答案 0 :(得分:1)

我们可以在levels电话

中指定factor
test$name <- factor(test$name, levels= c("C", "B", "A"))

它只会更改levels而不是数据

的顺序
test$name
#[1] A B C
#Levels: C B A