kjetil brinchmann halvorsen
2003-Jun-07 17:39 UTC
[Rd] table( , exclude=NULL) for factor objects
The NEWS file for R-1.7.0 says: table() now allows exclude= with factor arguments (requested by Michael Friendly). But in a recent R-1.7.1beta:> test <- c(1,2,3,4,5,1,2,3,4,5,NA,NA,1,2,3,4,5) > table(test)test 1 2 3 4 5 3 3 3 3 3> table(test, exclude=NULL)test 1 2 3 4 5 <NA> 3 3 3 3 3 2> table( as.factor(test), exclude=NULL)1 2 3 4 5 3 3 3 3 3 so this seems not to work? What is strange is that this seems to work in example(table). Kjetil Halvorsen
>>>>> "kjetil" == kjetil brinchmann halvorsen <kjetil@entelnet.bo> >>>>> on Sat, 07 Jun 2003 11:11:37 -0400 writes:kjetil> The NEWS file for R-1.7.0 says: kjetil> table() now allows exclude= with factor arguments (requested by kjetil> Michael Friendly). kjetil> But in a recent R-1.7.1beta: >> test <- c(1,2,3,4,5,1,2,3,4,5,NA,NA,1,2,3,4,5) >> table(test) kjetil> test kjetil> 1 2 3 4 5 kjetil> 3 3 3 3 3 >> table(test, exclude=NULL) kjetil> test kjetil> 1 2 3 4 5 <NA> kjetil> 3 3 3 3 3 2 >> table( as.factor(test), exclude=NULL) kjetil> 1 2 3 4 5 kjetil> 3 3 3 3 3 kjetil> so this seems not to work? kjetil> What is strange is that this seems to work in kjetil> example(table). It's actually not strange, but all consistent and according to help(table): 1) table() does show NA's only when they are factor levels, not when they are missing since that's what it's description says: it counts factor *levels*: 2) The `exclude' argument in table() is only used when table()'s arguments are not yet factors, i.e., not in this case.> (ft <- as.factor(test)) # clearly, the <NA>'s are missing, not an extra level[1] 1 2 3 4 5 1 2 3 4 5 <NA> <NA> 1 2 3 [16] 4 5 Levels: 1 2 3 4 5> ##-> Hence: > table(ft, exclude=NULL)ft 1 2 3 4 5 3 3 3 3 3> ## But, > table(ftN <- factor(test, exclude=NULL))1 2 3 4 5 <NA> 3 3 3 3 3 2> ## or, ``even more'' (giving the same): > table(ftN, exclude=NULL)ftN 1 2 3 4 5 <NA> 3 3 3 3 3 2 Martin Maechler <maechler@stat.math.ethz.ch> http://stat.ethz.ch/~maechler/ Seminar fuer Statistik, ETH-Zentrum LEO C16 Leonhardstr. 27 ETH (Federal Inst. Technology) 8092 Zurich SWITZERLAND phone: x-41-1-632-3408 fax: ...-1228 <><