Duncan Murdoch <[EMAIL PROTECTED]> writes:

> On 4/21/2006 4:05 PM, Sachin J wrote:
> > Hi,
> >    
> >   How can I accomplish this task in R?
> >    
> >     V1
> >     10
> >     20
> >     30
> >     10
> >     10
> >     20
> >      
> >   Create a new column V2 such that: 
> >   If V1 = 10 then V2 = 4
> >   If V1 = 20 then V2 = 6
> >   V1 =   30 then V2 = 10
> 
> Gabor's solution is fine; something that looks a little bit more like 
> your code is this:
> 
>   V2 <- NA
>   V2 <- ifelse( V1 == 10, 4, V2)
>   V2 <- ifelse( V1 == 20, 6, V2)
>   V2 <- ifelse( V1 == 30, 10, V2)
> 
> or
> 
>   V2 <- ifelse( V1 == 10, 4,
>           ifelse( V1 == 20, 6,
>             ifelse( V1 == 30, 10, NA )))
> 
> (where the NA is to handle any unexpected case where V1 isn't 10, 20 or 
> 30).  My preference would be to use just one assignment, and if I was 
> sure 10, 20 and 30 were the only possibilities, would use
> 
>   V2 <- ifelse( V1 == 10, 4,
>           ifelse( V1 == 20, 6, 10 ))
> 
> Duncan Murdoch


 I think I'd go for something like

   V2 <- c(4, 6, 10)[factor(V1, levels=c(10, 20, 30))]


    
> >   So the O/P looks like this
> >    
> >     V1  V2
> >     10   4
> >     20   6
> >     30  10
> >     10   4
> >     10   4  
> >     20   6
> >    
> >   Thanks in advance.
> >    
> >   Sachin
> > 
> > __________________________________________________
> > 
> > 
> > 
> >     [[alternative HTML version deleted]]
> > 
> > ______________________________________________
> > [email protected] mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide! 
> > http://www.R-project.org/posting-guide.html
> 
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> 

-- 
   O__  ---- Peter Dalgaard             Ă˜ster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED])                  FAX: (+45) 35327907

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to