Gabor Grothendieck wrote:
2009/10/6 Uwe Ligges <lig...@statistik.tu-dortmund.de>:
The first rule is easy: As long as you are using scalar valued (i.e. length
1 vectors in R) "cond", you should prefer
 if(cond) cons.expr  else  alt.expr
rather than
 ifelse(cond, yes, no)
because the latter one evaluates both "yes" and "no" while the former one
evaluates exactly one of both expressions.

I don't think that that is true.  The false leg was not evaluated here:

ifelse(TRUE, { cat("a"); 1}, {cat("b"); 2})
a[1] 1


Ah, indeed that changed at some point and I forgot that the code checks for the length of cond nowadays. Thanks for pointing it out.

Best wishes,
uwe

______________________________________________
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.

Reply via email to