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<rk...@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@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

______________________________________________
R-help@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.

Reply via email to