factor
ฉันมีกรอบข้อมูลที่มี เมื่อฉันสร้างเซตย่อยของ dataframe นี้โดยใช้subset
หรือฟังก์ชั่นการทำดัชนีอื่นเฟรมข้อมูลใหม่จะถูกสร้างขึ้น อย่างไรก็ตามfactor
ตัวแปรยังคงรักษาระดับเดิมทั้งหมดแม้เมื่อ / หากไม่มีอยู่ใน dataframe ใหม่
สิ่งนี้ทำให้เกิดปัญหาเมื่อทำการพล็อตแบบเหลี่ยมเพชรพลอยหรือใช้ฟังก์ชั่นที่ขึ้นอยู่กับระดับปัจจัย
วิธีรวบรัดที่สุดในการลบระดับออกจากปัจจัยในดาต้าเฟรมใหม่คืออะไร
นี่คือตัวอย่าง:
df <- data.frame(letters=letters[1:5],
numbers=seq(1:5))
levels(df$letters)
## [1] "a" "b" "c" "d" "e"
subdf <- subset(df, numbers <= 3)
## letters numbers
## 1 a 1
## 2 b 2
## 3 c 3
# all levels are still there!
levels(subdf$letters)
## [1] "a" "b" "c" "d" "e"