[R] Classification
    Karl Ove Hufthammer 
    karl at huftis.org
       
    Fri Nov 20 11:26:09 CET 2009
    
    
  
On Fri, 20 Nov 2009 10:43:19 +0100 smu <ml at z107.de> wrote:
> x <- c(3,5,7,3,9,7)
> > as.numeric(as.factor(x))
> [1] 1 2 3 1 4 3
While that is my preferred solution too, this may be easier to 
understand:
 match(x,sort(unique(x)))
(It is basically what 'factor' does.)
The question wasn't quite clear, though. Should the first occuring 
number get the category 1, or should the *lowest* number get this 
category. I.e., what should be the result of
x <- c(5,3,7,3,9,7)
Should it be 1, 2, 3, 2, 4, 3 or 2, 1, 3, 1, 4, 3?
The factor and match methods above give the second solution. To get the 
first solution, just remove the 'sort':
match(x,unique(x))
-- 
Karl Ove Hufthammer
    
    
More information about the R-help
mailing list