我注意到在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岁的原始内容。
如何在不改变实际内容的情况下更改因子的级别?
答案 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