[R] if/else statement without curly brackets gives a problem

jim holtman jholtman at gmail.com
Sun Jan 22 04:17:20 CET 2012


Don't use the ';'

> if (2 > 3) print('Yes'); else print('No')
Error: unexpected 'else' in " else"
No suitable frames for recover()
> if (2 > 3) print('Yes') else print('No')
[1] "No"
>

'else' is part of the 'if'.  The ';' implies the start of a new
statement.  You do not need the ';' when writing R; you must be coming
from a C background.

On Sat, Jan 21, 2012 at 9:56 PM, Ery Arias-Castro <eariasca at ucsd.edu> wrote:
> Hello,
>
> This example seems strange to me:
>
>> if (2 > 3) print('Yes'); else print('No')
> Error: unexpected 'else' in " else"
>
>> {if (2 > 3) print('Yes'); else print('No')}
> Error: unexpected 'else' in "{if (2 > 3) print('Yes'); else"
>
>> {
> +       if (2 > 3) print('no')
> +       else print('yes')
> + }
> [1] "yes"
>
>
> Any enlightening comments?
>
> Ery
>
> ______________________________________________
> 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.



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.



More information about the R-help mailing list