NA in table with integer types
OK. Thanks. So, if you use table() on a factor that contains NA's, but for which NA is not a level, is there any way to get table to generate an entry for the NAs? For example, in below, even "exclude=NULL" will not give me an entry for <NA> on the factor y:
x <- c(1,2,3,3,NA) y <- factor(x) y
[1] 1 2 3 3 <NA> Levels: 1 2 3
table(y,exclude=NA)
y 1 2 3 1 1 2
table(y,exclude=NaN)
y 1 2 3 1 1 2
table(y,exclude=NULL)
y 1 2 3 1 1 2
On Fri, 8 Apr 2005, Prof Brian Ripley wrote:
NaN only applies to double values: there is no integer NaN (nor Inf nor -Inf). The difference is clear from
factor(x, exclude=NaN)
[1] 1 2 3 3 <NA> Levels: 1 2 3 <NA>
factor(as.integer(x), exclude=NaN)
[1] 1 2 3 3 <NA>
Levels: 1 2 3
If you read ?factor it says
exclude: a vector of values to be excluded when forming the set of
levels. This should be of the same type as 'x', and will be
coerced if necessary.
and as.integer(NaN) is integer NA. So factor(as.integer(x), exclude=NaN)
is the same as factor(as.integer(x), exclude=NA).
[rest deleted] ========================================================================== Paul Rathouz, Assoc. Professor ph 773-834-1970 Dept. of Health Studies, Rm. W-264 fax 773-702-1979 University of Chicago prathouz at health.bsd.uchicago.edu 5841 S. Maryland Ave. MC 2007 Chicago, IL 60637