मेरे पास एक डेटा फ्रेम है जिसमें a factor। जब मैं subsetकिसी अन्य अनुक्रमणिका फ़ंक्शन का उपयोग करके इस डेटाफ़्रेम का सबसेट बनाता हूं , तो एक नया डेटा फ़्रेम बनाया जाता है। हालाँकि, factorचर अपने सभी मूल स्तरों को बनाए रखता है, तब भी जब वे नए डेटाफ़्रेम में मौजूद नहीं होते हैं।
यह कारकों की साजिश रचने या फ़ंक्शंस का उपयोग करते समय समस्याओं का कारण बनता है जो कारक स्तरों पर भरोसा करते हैं।
नए डेटाफ्रेम में एक कारक से स्तरों को हटाने का सबसे रसीला तरीका क्या है?
यहाँ एक उदाहरण है:
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"