2016-09-08 7 views
1

私は因子列を持っていますが、欠けているレベルがあります。R因子の欠損レベルR

d0s$y 
[1] E E E E E E G G G G G G G P P P P P P P 
Levels: E G P 

levels(d0s$y) 
[1] "" "E" "G" "P" 

答えて

1

それはサブセット化する前に、データセット内の空白""があることが考えられます。一つの方法は、それも可能""要素があるが、それので、すでにあるということができ、未使用レベル

d0s$y <- droplevels(d0s$y) 

を削除するか、factor再び

d0s$y <- factor(d0s$y) 

しかし呼び出すことdroplevelsを呼び出すことであろうはfactor印刷オプションには表示されません

y1 <- factor(rep(c("E", "G", "P", ""), each = 3)) 
y1 
#[1] E E E G G G P P P  
#Levels: E G P 
levels(y1) 
#[1] "" "E" "G" "P" 

と仮定、我々はそれらのレベル

levels(droplevels(y2)) 
#[1] "E" "G" "P" 
をドロップしない限り、私たちは 'Y1'

y2 <- y1[y1 %in% c("E", "G", "P")] 
levels(y2) #the unused levels are still there 
#[1] "" "E" "G" "P" 

のサブセット場合

関連する問題