[R] Changing values (factors) does not change levels of that value?!

Weiss, Bernd bernd.weiss at uni-koeln.de
Sun Nov 16 14:44:12 CET 2008


Philipp Pagel schrieb:
>>  * when then looking at str(weblog),
>>    the "-" will stay in the levels, mentioned for the variable weblog$V8
>>    -> BAD!
>>
>> Is this snormal behaviour?
> 
> Yes, it is. The idea is that a factor has a given set of levels
> independent of how often you find them in your data - including
> the case that a level is not observed at all. E.g. gender cn take
> levels 'male' or 'female' but you may have a sample of females.
> 
>> Do I have to throw out the unwanted level by myself?
> 
> Yes, and it's easy:
> 
>> x <- factor(c('A','B','C','A','C'))
>> y <- x[x!='C']
>> y
> [1] A B A
> Levels: A B C
>> factor(y)
> [1] A B A
> Levels: A B
> 

another solution might be

 > x <- factor(c('A','B','C','A','C'))
 > y <- x[x!='C']
 > y
[1] A B A
Levels: A B C
 > y[drop = TRUE]
[1] A B A
Levels: A B


HTH,

Bernd



More information about the R-help mailing list