更改R中变量的参考级别

Mik*_*e L 4 r levels

我有一个变量COLOR的数据集(称之为DATA).COLOR的模式是数字,类是因子.首先,我对"数字"感到有点困惑 - 打印出来时,COLOR的数据不是数字 - 它们都是字符值,如白色或蓝色或黑色等.任何对此的澄清都表示赞赏.

此外,我需要编写R代码来返回COLOR变量的级别,然后确定此变量的当前参考级别,最后将此变量的参考级别设置为白色.我尝试使用因子,但完全不成功.

感谢您抽出宝贵时间提供帮助.

Ben*_*ker 7

mode(DATA$COLOR)这是"numeric"因为R内部将因子存储为数字代码(以节省空间),以及与代码值对应的相关标签向量.打印因子时,R会自动替换每个代码的相应标签.

f <- factor(c("orange","banana","apple"))
## [1] orange banana apple 
## Levels: apple banana orange
str(f)
##  Factor w/ 3 levels "apple","banana",..: 3 2 1
c(f)    ## strip attributes to get a numeric vector
## [1] 3 2 1 
attributes(f)
## $levels
## [1] "apple"  "banana" "orange"
## $class
## [1] "factor"
Run Code Online (Sandbox Code Playgroud)

...我需要编写R代码来返回COLOR变量的级别...

levels(DATA$COLOR)
Run Code Online (Sandbox Code Playgroud)

...然后确定此变量的当前参考水平,

levels(DATA$COLOR)[1]
Run Code Online (Sandbox Code Playgroud)

...最后将此变量的参考级别设置为白色.

DATA$COLOR <- relevel(DATA$COLOR,"White")
Run Code Online (Sandbox Code Playgroud)

  • 你确定吗?`levels(relevel(factor(letters),'z'))[1]`!=`levels(factor(letters))[1]` (2认同)