[R] table() of a factor
Gavin Simpson
gavin.simpson at ucl.ac.uk
Tue Jun 29 13:03:54 CEST 2010
On Tue, 2010-06-29 at 11:59 +0100, Robin Hankin 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
If you know the levels before hand (which you appear to do) then state
them when you create the factor, but use factor() rather than coerce
with as.factor():
x <- factor(c(rep("a",3),"b","d"), levels = letters[1:4])
> table(x)
x
a b c d
3 1 0 1
>
> How to get this from 'x'?
> (my real application has dozens of levels with complicated names).
>
>
>
--
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
Dr. Gavin Simpson [t] +44 (0)20 7679 0522
ECRC, UCL Geography, [f] +44 (0)20 7679 0565
Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk
Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/
UK. WC1E 6BT. [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
More information about the R-help
mailing list