最佳答案
在 R 中,一个因子的水平和标签之间似乎存在着差异。 到目前为止,我一直认为级别是因子级别的“真正”名称,而标签是用于输出的名称(如表和图)。显然,情况并非如此,如下例所示:
df <- data.frame(v=c(1,2,3),f=c('a','b','c'))
str(df)
'data.frame': 3 obs. of 2 variables:
$ v: num 1 2 3
$ f: Factor w/ 3 levels "a","b","c": 1 2 3
df$f <- factor(df$f, levels=c('a','b','c'),
labels=c('Treatment A: XYZ','Treatment B: YZX','Treatment C: ZYX'))
levels(df$f)
[1] "Treatment A: XYZ" "Treatment B: YZX" "Treatment C: ZYX"
我以为在编写脚本的时候,这些级别(‘ a’,‘ b’,‘ c’)仍然可以被访问,但是这个方法不起作用:
> df$f=='a'
[1] FALSE FALSE FALSE
但这个可以:
> df$f=='Treatment A: XYZ'
[1] TRUE FALSE FALSE
因此,我的问题由两部分组成:
级别和标签有什么区别?
是否有可能对脚本和输出的因子级别使用不同的名称?
背景: 对于较长的脚本,使用短因素级别的脚本似乎要容易得多。然而,对于报告和图表来说,这种短的因子水平可能不够,应该用更精确的名称来代替。