For your first problem, you can probably do it in 2 statements:
V3 = ifelse(V2==A,V2,V3)
V3 = ifelse(V2==B|V2==C,D,V3)

If you want to split V1 into (0,a],(a,b],(b,c],(c,1], you can do, quite simply
V1.factor = cut(V1, c(0,a,b,c,1))

Abhijit
On Wed, 9 Apr 2008 13:58:17 -0700
Chang Liu <[EMAIL PROTECTED]> wrote:

> 
> Hi Gurus:
>  
> If I have a large dataset of the form of:
>  
> > x <- data.frame(V1 = runif(10), V2 = sample(c('A','B','C'),10,T)) > x       
> >    V1 V21  0.2691580  A2  0.8711267  B3  0.2674728  C4  0.3278876  A5  
> > 0.1809152  A6  0.2499651  C7  0.9155174  A8  0.8004974  B9  0.7885516  A10 
> > 0.9301630  A
> And I want a V3 that =V2 if V2=A, and =D if V2=B or C. In other words I want 
> to use a vectorized way to combine some levels, rather than having to loop 
> through a large dataset.
>  
> Similarly, if I want to group V1 into levels, what is a fast way to do it?
>  
> Thank you!
> Karen
> _________________________________________________________________
> If you like crossword puzzles, then you'll love Flexicon, a game which 
> comb[[elided Hotmail spam]]
> 
>       [[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.


-- 
Abhijit Dasgupta

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to