Es scheint einen Unterschied zwischen Ebenen und Beschriftungen eines Faktors in R zu geben. Bisher dachte ich immer, dass Ebenen der "echte" Name von Faktorstufen sind und Beschriftungen die Namen, die für die Ausgabe verwendet werden (wie Tabellen und Diagramme). . Dies ist offensichtlich nicht der Fall, wie das folgende Beispiel zeigt:
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"
Ich dachte, dass auf die Ebenen ('a', 'b', 'c') beim Skripten noch irgendwie zugegriffen werden kann, aber das funktioniert nicht:
> df$f=='a'
[1] FALSE FALSE FALSE
Aber das tut:
> df$f=='Treatment A: XYZ'
[1] TRUE FALSE FALSE
Meine Frage besteht also aus zwei Teilen:
Was ist der Unterschied zwischen Ebenen und Labels?
Ist es möglich, unterschiedliche Namen für Faktorstufen für Skripterstellung und Ausgabe zu haben?
Hintergrund: Bei längeren Skripten scheint die Skripterstellung mit kurzen Faktorstufen viel einfacher zu sein. Für Berichte und Diagramme sind diese kurzen Faktorwerte möglicherweise nicht ausreichend und sollten durch Präzisionsnamen ersetzt werden.