On Fri, Jun 1, 2012 at 5:23 PM, David Winsemius <dwinsem...@comcast.net> wrote: > > On Jun 1, 2012, at 2:37 PM, Sarah Goslee wrote: > >> There are several ways. The easiest to understand is probably using >> if() statements: see ?if for help and examples. >> >> Sarah >> > I would have thought ifelse() to be the necessary function, but for such > simple cases I find boolean math to be clearer. (I understand indivdiual > preferences vary in this area.)
That depends on whether you interpret "two variables" as scalars or vectors. Since the original poster did not provide any example whatsoever, I went with one options, while David chose the other. This clearly illustrates the importance of following the posting guide, as if we needed any more such examples. Sarah >> dft <-data.frame(Y=1, M=sample(c(1,3,9),20,repl=TRUE)) > >> dft$res <- with(dft, Y*( (M==1) *1 + (M==3)*2 +(M==9)*3.6678) ) >> dft > Y M res > 1 1 1 1.0000 > 2 1 9 3.6678 > 3 1 3 2.0000 > 4 1 1 1.0000 > 5 1 1 1.0000 > 6 1 9 3.6678 > 7 1 9 3.6678 > 8 1 9 3.6678 > 9 1 3 2.0000 > 10 1 9 3.6678 > 11 1 9 3.6678 > 12 1 9 3.6678 > 13 1 1 1.0000 > 14 1 3 2.0000 > 15 1 3 2.0000 > 16 1 1 1.0000 > 17 1 1 1.0000 > 18 1 3 2.0000 > 19 1 9 3.6678 > 20 1 9 3.6678 > > -- > David >> >> On Fri, Jun 1, 2012 at 11:34 AM, jfca283 <jfca...@gmail.com> wrote: >>> >>> Hi >>> I need to do something very simple. I have 2 variables, Y and M. I need >>> to >>> multiply Y by 1 if M=1, by 2 if M=3 and by 3.6678 if M=9. How do i make >>> it? >>> Thanks for your time and interest >>> >> > -- > > David Winsemius, MD > West Hartford, CT > -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.