Gabor Grothendieck wrote: > > On Wed, Aug 3, 2011 at 8:09 AM, zcatav <zca...@gmail.com> wrote: >> Your suggestion works perfect as i pointed previous message. Now have >> another >> question about data editing. I try this code: >> X[X[,"c"]==1,"b"]<-X[,"d"] >> and results with error: `[<-.data.frame`(`*tmp*`, X[, "c"] == 1, "b", >> value >> = c(NA, : >> replacement has 9 rows, data has 2 >> >> Logically i selected 2 rows with X[,"c"]==1. Than i want to replace in >> that >> rows its own data from "d" to "b" with X[,"b"]<-X[,"d"]. What is wrong? >> > > Also check out transform and ifelse, e.g. > > transform(X, b = ifelse(is.na(b) & c == 0, "2011-07-28", b)) > > transform(X, b = ifelse(c == 1, d, c)) > >
> transform(X, b = ifelse(is.na(b) & c == 0, "2011-07-28", b)) This code results as follows. Data at [1,b] and [9,b] not managed as Date. a b c d 1 58009 14915 0 <NA> 2 114761 <NA> 1 2008-11-05 3 184440 <NA> 1 2009-12-08 4 189372 2011-07-28 0 <NA> 5 105286 2011-07-28 0 <NA> 6 186717 2011-07-28 0 <NA> 7 189106 2011-07-28 0 <NA> 8 127306 2011-07-28 0 <NA> 9 157342 15089 0 <NA> And the second code > transform(X, b = ifelse(c == 1, d, c)) results as follows. Data at [,b] are completly lost. a b c d 1 58009 1 0 <NA> 2 114761 14188 1 2008-11-05 3 184440 14586 1 2009-12-08 4 189372 1 0 <NA> 5 105286 1 0 <NA> 6 186717 1 0 <NA> 7 189106 1 0 <NA> 8 127306 1 0 <NA> 9 157342 1 0 <NA> I think this solution not proper for me. -- View this message in context: http://r.789695.n4.nabble.com/conditional-data-replace-recode-change-or-whatsoever-tp3714715p3715525.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.