Re: [R] Classifying values in vector

From: Sundar Dorai-Raj <sundar.dorai-raj_at_pdf.com>
Date: Thu 18 Aug 2005 - 02:55:03 EST

mark salsburg wrote:
> I have a vector of size 217 called "A".
>
> the values of A are not sorted and range from 0 to 1 (normalized)
>
> I am having difficulty writing a program to create a new vector "B" where
>
> if A's value is 0< A <=0.333 then B is 0
> if A's value is 0.333< A <=0.666 then B is 1
> if A's value is 0.666< A <=1 then B is 2
>
> so if A is
>
> 0.22
> 0.999
> 0.444
> 0
>
> B would be
>
> 0
> 2
> 1
> 0
>
> thank you,

Sounds like you are looking for ?cut:

 > A <- runif(217)
 > B <- cut(A, c(0, 1/3, 2/3, 1), labels = c(0, 1, 2))
 > # convert factor to numeric
 > as.numeric(levels(B)[B])

HTH, --sundar



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Aug 18 02:59:46 2005

This archive was generated by hypermail 2.1.8 : Sun 23 Oct 2005 - 15:27:37 EST