codes {base} | R Documentation |
This (generic) function returns a numeric coding of a factor. It can also be used to assign to a factor using the coded form.
codes(x, ...)
codes(x) <- value
x |
an object from which to extract or set the codes. |
... |
further arguments passed to or from other methods. |
For an ordered factor, it returns the internal coding (1 for the lowest group, 2 for the second lowest, etc.).
For an unordered factor, an alphabetical ordering of the levels is assumed, i.e., the level that is coded 1 is the one whose name is sorted first according to the prevailing collating sequence. Warning: the sort order may well depend on the locale, and should not be assumed to be ASCII.
Normally codes
is not the appropriate function to use with an
unordered factor. Use unclass
or
as.numeric
to extract the codes used in the internal
representation of the factor, as these do not assume that the codes
are sorted.
The behaviour for unordered factors is dubious, but compatible with S
version 3. To get the internal coding of a factor, use
as.integer
. Note in particular that the codes may not
be the same in different language locales because of collating
differences.
factor
, levels
, nlevels
.
codes(rep(factor(c(20,10)),3))
x <- gl(3,5)
codes(x)[3] <- 2
x
data(esoph)
( ag <- esoph$alcgp[12:1] )
codes(ag)
codes(factor(1:10)) # BEWARE!