[EMAIL PROTECTED] wrote:
I ran into an interesting oddity of R, if (0) { print(1); } else { print(2); }
In both cases the ";" is superflously .....
If if(){}else{} is within an expression (e.g. a function's body), both ways work.
Do you really want to use it outside a function's body? If so, I suggest to write:
if(...){
...
} else{
...
}is a syntax error, while
if (0) { print(1); } else { print(2); }
or
if (0) { print(1);
} else { print(2); }
is not. I presume it has to do with the duality of the newline functioning as an end of command (;) character, though it still seems a bit odd, and it took me a while to figure out what was wrong. I eventually figured out that to resolve this ambiguity, I would guess that ifelse() would be a preferred function.
No. ifelse() is for the vectorized conditions. if(){} else{} is more efficient for length 1 conditions. Please read help("if") and help("ifelse").
I wanted to look up the internal R documentation for if via "?if", but this does not work. making the latter work would be a good idea.
?"if" or help("if") do work perfectly.
Uwe Ligges
regards, /iaw --- ivo welch professor of finance and economics brown / nber / yale
______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
