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.
Hello, Try the following. X$a[X$b] <- X$c[X$b] Hope this helps, Rui Barradas Em 14-05-2013 09:06, fgrelier escreveu:> > 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. >
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. >