ดูเหมือนจะมีความแตกต่างระหว่างระดับและป้ายกำกับของปัจจัยใน 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
ดังนั้นคำถามของฉันประกอบด้วยสองส่วน:
ระดับและป้ายกำกับต่างกันอย่างไร
เป็นไปได้ไหมที่จะมีชื่อต่างกันสำหรับระดับแฟคเตอร์สำหรับการเขียนสคริปต์และเอาต์พุต
ความเป็นมา: สำหรับสคริปต์ที่ยาวขึ้นการเขียนสคริปต์ด้วยระดับปัจจัยสั้น ๆ ดูเหมือนจะง่ายกว่ามาก อย่างไรก็ตามสำหรับรายงานและพล็อตระดับปัจจัยสั้น ๆ นี้อาจไม่เพียงพอและควรแทนที่ด้วยชื่อตัวกำหนด