[R] Dataframe and conditions

Pascal Oettli kridox at ymail.com
Tue May 14 10:47:03 CEST 2013


Hello,

One approach is using "ifelse":

 > X <- data.frame(a=c(1,1,1,1,1,1), 
b=c(TRUE,TRUE,FALSE,FALSE,FALSE,TRUE), c=c(2,2,2,2,2,2))
 > X
   a     b c
1 1  TRUE 2
2 1  TRUE 2
3 1 FALSE 2
4 1 FALSE 2
5 1 FALSE 2
6 1  TRUE 2
 >
 > X <- within(X, a <- ifelse(b==TRUE, c, a))
 > X
   a     b c
1 2  TRUE 2
2 2  TRUE 2
3 1 FALSE 2
4 1 FALSE 2
5 1 FALSE 2
6 2  TRUE 2

Hope this helps,
Pascal


On 05/14/2013 05:06 PM, fgrelier wrote:
>
> I have in a dataframe X  :  3 Variables X$a , X$b, X$c
> I would like to replace in X the values of X$a by the values of  X$c but
> only when X$b=="TRUE"
> I have tried to put in place a loop but as I have a lot of rows it is very
> very long to run.
>
> Thanks for your help
>
>
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Dataframe-and-conditions-tp4667012.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list