Thanks a lot for the wonderful guidance. Regards
Vincy --- On Thu, 3/10/11, Ivan Calandra <ivan.calan...@uni-hamburg.de> wrote: From: Ivan Calandra <ivan.calan...@uni-hamburg.de> Subject: Re: [R] How to use conditional statement To: "Duncan Murdoch" <murdoch.dun...@gmail.com> Cc: r-help@r-project.org Received: Thursday, March 10, 2011, 12:32 PM Thanks for the comment, I didn't think about this thorougly. Le 3/10/2011 12:54, Duncan Murdoch a écrit : > On 11-03-10 5:54 AM, Ivan Calandra wrote: >> Try with double "== "instead: >> ifelse(val3 == "Monthly", val<- val1, val<- val2) > > That might work, but it is not how you should do it. (It should work > if val3 has a single entry, but will do strange things if val3 is a > vector: > > > val3 <- c("Monthly", "Daily") > > ifelse(val3 == "Monthly", val<- 1, val<- 2) > [1] 1 2 > > val > [1] 2 > > > The ifelse() function does a vectorized test, and picks results from > the two vector alternatives. Vincy wants a simple logical if, which > can be computed in a few different ways: > > val <- if(val3 == "Monthly") val1 else val2 > > or > > if (val3 == "Monthly") val <- val1 > else val <- val2 > > For a simple calculation like this I'd probably use the former; if the > calculation got more complex I'd prefer the latter. > > Duncan Murdoch > >> >> Single "=" is for setting arguments within a function call. If you want >> to test equality, then double "==" is required. >> See ?"==" >> >> HTH, >> Ivan >> >> Le 3/10/2011 11:45, Vincy Pyne a écrit : >>> Dear R helpers >>> >>> Suppose >>> >>> val1 = c(10, 20, 35, 80, 12) >>> val2 = c(3, 8, 11, 7) >>> >>> I want to select either val1 or val2 depending on value of third >>> quantity val3. >>> >>> val3 assumes either of the values "Monthly" or "Yearly". >>> >>> If val3 = "Monthly", then val = val1 and if val3 = "Yearly", then >>> val = val2. >>> >>> I tried the ifelse statement as >>> >>> >>> ifelse(val3 = "Monthly", val = val1, val2) >>> >>> I get following error >>> >>>> ifelse(val3 = "Monthly", val = val1, val2) >>> Error in ifelse(val3 = "Monthly", val = val1, val2) : >>> unused argument(s) (val3 = "Monthly", val = val1) >>> >>>> val >>> Error: object 'val' not found >>> >>> Kindly guide. >>> >>> Regards >>> >>> Vincy >>> >>> >>> >>> [[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. >> > > -- Ivan CALANDRA PhD Student University of Hamburg Biozentrum Grindel und Zoologisches Museum Abt. Säugetiere Martin-Luther-King-Platz 3 D-20146 Hamburg, GERMANY +49(0)40 42838 6231 ivan.calan...@uni-hamburg.de ********** http://www.for771.uni-bonn.de http://webapp5.rrz.uni-hamburg.de/mammals/eng/1525_8_1.php ______________________________________________ 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.