[R] Creat new column based on condition
Duncan Murdoch
murdoch at stats.uwo.ca
Fri Apr 21 22:46:52 CEST 2006
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
>
> 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]]
>
> ______________________________________________
> R-help at 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
More information about the R-help
mailing list