[R] If(cond) statement

Erik Iverson iverson at biostat.wisc.edu
Tue Apr 29 20:22:34 CEST 2008


Kenneth -

See ?if in the Details section.  Specifically this part (at least in R 
2.7),

"In particular, you should not have a newline between '}' and
  'else' to avoid a syntax error in entering a 'if ... else'
   construct at the keyboard or via 'source'."

The R interpreter can't 'see ahead' that you have an else statement. 
Your program could validly end after your cons.expr, without the need 
for an 'else'.  This is why you should put your else on the same line, 
possibly using {}s for clarity.

Best,
Erik Iverson

Beck, Kenneth (STP) wrote:
> Why will this simple statement not work? I think I am following the
> documentation for if(cond) statements, and I have tried wrapping the
> cons.expr and alt.expr in {}, I get the same error. There is no example
> in the help file, and this is not covered in the Introduction to R,
> SimpleR or other tutorials I have looked into.
> 
> mxx=max(cpx_list$nMV);
> mxy=max(trend_list$nMV);
> if (mxx>mxy)
>   mxy=mxx
> else
>   mxx=mxy
> 
> Error: unexpected 'else' in "else"
> 
> Why does this error message have the first 'else' in single quote and
> second in double??
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list