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. > -- Felix Andrews / 安福立 Integrated Catchment Assessment and Management (iCAM) Centre Fenner School of Environment and Society [Bldg 48a] The Australian National University Canberra ACT 0200 Australia M: +61 410 400 963 T: + 61 2 6125 4670 E: felix.andr...@anu.edu.au CRICOS Provider No. 00120C -- http://www.neurofractal.org/felix/ ______________________________________________ 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.