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.