[R] factor documentation issue
Geoff Russell
geoffrey.russell at gmail.com
Wed Feb 28 00:11:19 CET 2007
There is a warning in the documentation for ?factor (R version 2.3.0)
as follows:
" The interpretation of a factor depends on both the codes and the
'"levels"' attribute. Be careful only to compare factors with the
same set of levels (in the same order). In particular,
'as.numeric' applied to a factor is meaningless, and may happen by
implicit coercion. To "revert" a factor 'f' to its original
numeric values, 'as.numeric(levels(f))[f]' is recommended and
slightly more efficient than 'as.numeric(as.character(f))'.
But as.numeric seems to work fine whereas as.numeric(levels(f))[f] doesn't
always do anything useful.
For example:
> f<-factor(1:3,labels=c("A","B","C"))
> f
[1] A B C
Levels: A B C
> as.numeric(f)
[1] 1 2 3
> as.numeric(levels(f))[f]
[1] NA NA NA
Warning message:
NAs introduced by coercion
And also,
> f<-factor(1:3,labels=c(1,5,6))
> f
[1] 1 5 6
Levels: 1 5 6
> as.numeric(f)
[1] 1 2 3
> as.numeric(levels(f))[f]
[1] 1 5 6
Is the documentation wrong, or is the code wrong, or have I missed
something?
Cheers,
Geoff Russell
More information about the R-help
mailing list