Il semble y avoir une différence entre les niveaux et les étiquettes d'un facteur R. Jusqu'à maintenant, j'ai toujours pensé que les niveaux étaient les "vrais" noms de niveaux de facteurs, et les étiquettes ont été les noms utilisés pour la sortie (tels que des tableaux et des graphiques). Évidemment, ce n'est pas le cas, comme le montre l'exemple suivant:
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"
Je pensais que les niveaux ('a','b','c') pourrait en quelque sorte toujours être consulté lors de la création, mais cela ne fonctionne pas:
> df$f=='a'
[1] FALSE FALSE FALSE
Mais ce n':
> df$f=='Treatment A: XYZ'
[1] TRUE FALSE FALSE
Donc, ma question se compose de deux parties:
Quelle est la différence entre les niveaux et les étiquettes?
Est-il possible d'avoir des noms différents niveaux des facteurs pour l'écriture de scripts et de sortie?
Contexte: Pour plus de scripts, script, avec de courts niveaux de facteur semble être beaucoup plus facile. Toutefois, pour les rapports et les parcelles, ce court niveaux de facteur peut ne pas suffire et doit être remplacé par de preciser les noms.