Thanks Gabor, this is quite clever and it's nice to see another way of doing it (without ifelse). Mark
On Sun, Jun 14, 2009 at 6:51 PM, Gabor Grothendieck <ggrothendi...@gmail.com > wrote: > Note that TRUE and FALSE become 1 and 0 when used in arithmetic > formulae so: > > result <- with(DF, > (type %in% c("A", "B", "C")) * > (1 * (status == "a") + 2 * (status == "b") + 3 * (status == > "c")) + > (type %in% c("D", "E", "F")) * > (9 * (status == "a") + 8 * (status == "b") + 7 * (status == > "c"))) > > If none of the conditions hold for row i then result[i] will be 0. > > > On Sun, Jun 14, 2009 at 6:18 PM, Mark Na<mtb...@gmail.com> wrote: > > Hi, > > I've been struggling most of the morning with an IF ELSE problem, and I > > wonder if someone might be able to sort me out. > > > > Here's what I need to do (dummy example, my data are more complicated): > > > > If type = A or B or C > > and status = a then count = 1 > > and status = b then count = 2 > > and status = c then count = 3 > > > > Else if type = D or E or F > > and status = a then count = 9 > > and status = b then count = 8 > > and status = c then count = 7 > > > > End > > > > Seems simple when I write it like that, but the R code is escaping me. > > > > Thanks! > > > > Mark Na > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > 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. > > > [[alternative HTML version deleted]] ______________________________________________ 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.