[R] table() of a factor

Robin Hankin rksh1 at cam.ac.uk
Tue Jun 29 14:14:14 CEST 2010


thanks everyone.

I think the motto should be "always specify the levels of a factor when 
you create it
if you possibly can".


best wishes

Robin



On 06/29/2010 12:39 PM, Felix Andrews wrote:
> Just use factor(), not levels(); you can pass a factor to factor() too.
>
>    
>> x<- factor(c(rep("a",3),"b","d"), levels = letters[1:5])
>> table(x)
>>      
> x
> a b c d e
> 3 1 0 1 0
>
> Cheers,
> -Felix
>
>
> On 29 June 2010 20:59, Robin Hankin<rksh1 at cam.ac.uk>  wrote:
>    
>> Hi
>>
>> suppose I have a factor 'x':
>>
>>      
>>> x<- as.factor(c(rep("a",3),"b","d"))
>>> table(x)
>>>        
>> x
>> a b d
>> 3 1 1
>>      
>>>
>>>        
>> But this is not what I want because
>> I need to include the fact that the count of "c" is zero.
>>
>> I can't just change the levels of x:
>>
>>      
>>> levels(x)<- c("a","b","c","d")
>>> table(x)
>>>        
>> x
>> a b c d
>> 3 1 1 0
>>      
>>>        
>> because this records the single "d" in the original 'x' as a "c".
>>
>>
>> What I want is:
>>
>> a b c d
>> 3 1 0 1
>>
>>
>> How to get this from 'x'?
>> (my real application has dozens of levels with complicated names).
>>
>>
>>
>> --
>> Robin K. S. Hankin
>> Uncertainty Analyst
>> University of Cambridge
>> 19 Silver Street
>> Cambridge CB3 9EP
>> 01223-764877
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>      
>
>
>    


-- 
Robin K. S. Hankin
Uncertainty Analyst
University of Cambridge
19 Silver Street
Cambridge CB3 9EP
01223-764877



More information about the R-help mailing list