This is a "long" way; i.e., not necessarily efficient: > qs2 [1] 2 1 1 4 4 4 1 1 1 4 2 4 3 1 4 3 3 2 4 3 > qs9 [1] 4 4 1 3 4 3 1 3 1 4 1 2 3 3 4 4 1 4 2 3 > decision <- function(a, b) { + if (a == 1 || b == 1) return(1) + if (a == 2 || b == 2) return(2) + if (a == 3 || b == 3) return(3) + if (a == 4 || b == 4) return(4) + NA + } > mapply(decision, qs2, qs9) [1] 2 1 1 3 4 3 1 1 1 4 1 2 3 1 4 3 1 2 2 3
Hope this is what you want. Andy > -----Original Message----- > From: Greg Blevins [mailto:[EMAIL PROTECTED] > Sent: Monday, October 06, 2003 11:21 PM > To: R-Help > Subject: [R] Problem getting an ifelse statment to work > > > Hello R experts, > > I trust I have a simple request. I have a dataframe which > among its contents are two variables, qs2 and qs9, which have > the following frequencies. > > > table(qs2) > qs2 > 1 2 3 4 > 40 22 11 29 > > > table(qs9) > qs9 > 1 2 3 4 > 162 172 91 179 > > I simply want to create a new variable which I have called > SchCode that would be filled based on the following logic > (written in Systat syntax): > > if qs2 = 1 or qs9 = 1 then let SchCode = 1 > if qs2 = 2 or qs9 = 2 then let SchCode = 2 > if qs2 = 3 or qs9 = 3 then let SchCode = 3 > if qs2 = 4 or qs9 = 4 then let SchCode = 4 > > I have looked through my two Ripley texts, searched the > R-help, and have tried various ifelse statements, but I > cannot get it right. Help would be appreciated. > > Thanks, > Greg Blevins > The Market Solutions Group > [[alternative HTML version deleted]] > > ______________________________________________ > [EMAIL PROTECTED] mailing list > https://www.stat.math.ethz.ch/mailman/listinfo> /r-help > ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help