不可设置函数的一个例子是labels
.只有在使用"因子"函数创建因子标签时,才能设置因子标签.没有labels<-
功能.并不是说因素中的"标签"和"水平"有任何意义....
> fac <- factor(1:3, labels=c("one", "two", "three"))
> fac
[1] one two three
Levels: one two three
> labels(fac)
[1] "1" "2" "3"
好的,我要了标签,人们可能会认为标签是由factor call设置的,但我得到了一些非常...什么词,不直观?
> levels(fac)
[1] "one" "two" "three"
所以,设置标签实际上就是设置级别.
> fac <- factor(1:3, levels=c("one", "two", "three"))
> levels(fac)
[1] "one" "two" "three"
好的,这是意料之中的.那么,当一个人设定水平时,标签是什么呢?
> fac <- factor(1:3, levels=c("one", "two", "three"), labels=c("x","y", "z") )
> labels(fac)
[1] "1" "2" "3"
> levels(fac)
[1] "x" "y" "z"
如果你问我的话,埃芬很奇怪.看来,因子的"标签"论据胜过任何级别规范的"级别"论据.为什么会这样?这似乎是一个混乱的术语.为什么labels()
会像我想象中的那样被回收.字符(如数字(fac))?
(在早些时候的一个关于赋值函数的回答中,这是一个无关紧要的 comments (被贴上了这样的标签),我被要求转移到一个问题上来.所以,这是你给我启发的机会.)