Tampaknya ada perbedaan antara level dan label sebuah faktor di R. Hingga saat ini, saya selalu berpikir bahwa level adalah nama 'sebenarnya' dari level faktor, dan label adalah nama yang digunakan untuk output (seperti tabel dan plot) . Jelas, ini bukan masalahnya, seperti yang ditunjukkan contoh berikut:
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"
Saya pikir level ('a', 'b', 'c') masih bisa diakses saat membuat skrip, tetapi ini tidak berhasil:
> df$f=='a'
[1] FALSE FALSE FALSE
Tapi ini memang:
> df$f=='Treatment A: XYZ'
[1] TRUE FALSE FALSE
Jadi, pertanyaan saya terdiri dari dua bagian:
Apa perbedaan antara level dan label?
Apakah mungkin memiliki nama yang berbeda untuk tingkat faktor untuk skrip dan keluaran?
Latar belakang: Untuk skrip yang lebih panjang, skrip dengan level faktor pendek tampaknya jauh lebih mudah. Namun, untuk laporan dan plot, tingkat faktor yang pendek ini mungkin tidak memadai dan harus diganti dengan nama pendahulu.