[R] Classifying values in vector
Sundar Dorai-Raj
sundar.dorai-raj at pdf.com
Wed Aug 17 18:55:03 CEST 2005
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
More information about the R-help
mailing list